php
jingjingmissdan
一点点收藏,每天进步一点点
展开
-
PHP 获取一个文件夹下所有文件及文件夹
<?phpfunction getAllFile($path){ if(is_dir($path)){ $re=opendir($path); while(($file==readdir($re))!==flase){ if($file!='.' && $file !='..'){ if(...原创 2019-10-21 17:25:26 · 301 阅读 · 0 评论 -
【PHP】文件写入和读取详解
可参考转载 2019-10-21 14:18:23 · 147 阅读 · 0 评论 -
php isset()与empty()的使用
PHP isset函数作用isset函数是检测变量是否设置。若变量不存在则返回FALSE若变量存在且其值为NULL,也返回FALSE若变量存在且值不为NULL,则返回TURE同时检查多个变量时,每个单项都符号上一条要求时才返回TRUE,否则结果为FALSE如果已经使用unset()释放了一个变量之后,它将不再是isset()。若使用isset()测试一个被设置成NULL的变...原创 2019-03-14 16:15:25 · 162 阅读 · 0 评论 -
PHP assert 和 eval
assert 判断一个表达式是否成立。返回true or false;<?php$s = 123;assert("is_int($s)");?>从这个例子可以看到字符串参数会被执行,这跟eval()类似。不过eval($code_str)只是执行符合php编码规范的$code_str。eval():该函数对于在数据库文本字段中供日后计算而进行的代码存储很有用。(在...原创 2019-03-14 16:50:44 · 3204 阅读 · 0 评论 -
php strpos 与mb_strpos的区别
$a = '歪麦博客';$b = '博客';$pos = strpos($a, $b);echo $pos;//6echo "<br/>";$pos = mb_strpos($a, $b);echo $pos;//2echo "<br/>";$pos = strpos(mb_convert_encoding($a, 'utf-8'), mb_conver...原创 2019-04-02 18:05:56 · 1827 阅读 · 0 评论 -
数据结构中堆、栈和队列的理解
一、堆堆是一种经过排序的树形数据结构,每个节点都有一个值,通常我们所说的堆的数据结构是指二叉树。所以堆在数据结构中通常可以被看做是一棵树的数组对象。而且堆需要满足一下两个性质:(1)堆中某个节点的值总是不大于或不小于其父节点的值;(2)堆总是一棵完全二叉树。堆分为两种情况,有最大堆和最小堆。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。下图图一就是一个最大堆,图...转载 2019-04-09 10:42:26 · 1236 阅读 · 0 评论 -
PHP 页面静态化/纯静态化/伪静态化
概念PHP静态化分为:纯静态化 和 伪静态化;纯静态化又分为:局部静态化 和 完全静态化纯静态化:是把PHP生成的动态页面保存成静态的html文件,用户访问该静态页面,而不是用户每一次访问都重新生成一张相同的网页,优点就是减小服务器开销, 局部静态化:是生成的静态文件中,有局部的数据还是通过ajax技术动态获取的; 完全静态化:即不存在动态获取数据的情况,所以内容都来自静态的h...转载 2019-04-16 14:30:53 · 342 阅读 · 0 评论 -
redis实现高并发下的抢购/秒杀功能
之前对redis高并发下的抢购/秒杀一直是迷迷糊糊的,还是不认真的原因。今天在慕课网学习了一下视频,讲了些基础,也照着他的代码写了案例(有趣的是:免费的课程,老师讲的太简单,甚至还有漏洞):1:数据库连接(单例模式的):class Db{ private static $_instance; private static $_dbConnect; privat...原创 2019-05-17 18:02:59 · 1566 阅读 · 0 评论 -
PHP 浮点型与整型比较的小坑
今天我们来看一个在 PHP 中比较有意思的事:浮点数(floats)<?phpdie(var_dump(1200.85 * 100 === 120085));你认为上面的代码会出现什么结果呢?1. true 2. false 3. 这种比较视情况而定其实很简单,因为在这里,我们使用了===来做比较,所以这个结果很清晰的就是 false,因为我们左边是一个 floats ...转载 2019-06-04 17:25:15 · 1166 阅读 · 0 评论 -
小技巧两个感叹号(两个!)连用
两个!是为了把非0值转换成1,而0值还是0。(如下表) ! !! 0 1 0 1 0 1 10 0 1转载 2019-08-09 11:09:43 · 2340 阅读 · 0 评论 -
PHP连接MySQL函数总结
常用的mysqli方法有以下几个mysqli_connect:连接认证 mysqli_connect_error:连接失败的错误信息 mysqli_close:关闭连接 mysqli_errno:出现错误的编号 mysqli_error:出现错误的信息 mysqli_query:执行查询SQL指令 mysqli_affected_rows:当前mysql操作受影响的行数(写操作)...原创 2019-09-18 16:03:53 · 1647 阅读 · 0 评论 -
Configuration File Path和Loaded Configuration File 都有加载php.ini文件,有什么不同的地方?
如果“Configuration File (php.ini) Path”和“Loaded Configuration File”的路径不一致说明你在apache的httpd.conf文件中设置了PHPIniDir。1:Configuration File (php.ini) PathConfiguration File (php.ini) Path /usr/local/php/l...原创 2019-09-23 17:47:57 · 3207 阅读 · 0 评论 -
Linux 源码redis安装
Linux 源码redis安装一、Reids介绍Redis官网REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。二、Reids准备检查安装依赖程序yum install gcc-c++yum install -y tclyum install wget三、安装文件下载wget http:/...转载 2019-03-08 16:00:18 · 446 阅读 · 0 评论 -
PHP—封装文件上传的方法
<?php$fileInfo=$_FILES['file'];function uploadFile($fileInfo,$filePath='./file',$imageExt=['jpg','png','gif']){ $uploadInfo=$fileInfo['error']; if($uploadInfo===0){ $ext=strtolo...原创 2019-01-30 11:04:06 · 456 阅读 · 0 评论 -
CentOS下php安装mcrypt扩展-源码编译安装
1:去http://www.sourceforge.net下载Libmcrypt,mhash,mcrypt安装包 (安装包后续添加百度云链接) libmcrypt(libmcrypt-2.5.8.tar.gz ): mcrypt(mcrypt-2.6.8.tar.gz ): mhash(mhash-0.9.9.9.tar...转载 2019-06-03 11:16:55 · 1174 阅读 · 0 评论 -
PDOStatement::bindParam的一个陷阱
本文地址: http://www.laruence.com/2012/10/16/2831.html转载请注明出处<?php$dbh = new PDO('mysql:host=localhost;dbname=test', "test");$query = "INSERT INTO `user` (`username`, `password`) VALUES (:username...转载 2018-08-08 16:35:57 · 142 阅读 · 0 评论 -
CGI、FastCGI和PHP-FPM关系图解
有两个网站写的很好,可以参考:1:https://www.awaimai.com/371.html2:https://www.cnblogs.com/f-ck-need-u/p/7627035.html转载 2018-12-12 16:43:37 · 147 阅读 · 0 评论 -
linux--修改mysql登录密码
本文都以用户为 root 为例;一、拥有原来的myql的root的密码;方法一: 在mysql系统外,使用mysqladminmysqladmin -u root -p password "test123"Enter password: 【输入原来的密码】方法二: 通过登录mysql系统,mysql -uroot -pEnter password: 【输入原来的密码】my...转载 2019-01-17 15:41:59 · 139 阅读 · 0 评论 -
PHP魔术方法的的理解
_set:属性不存在时自动设置属性/*** 属性不存在时通过__set自动设置属性* @param $key [键名]* @param $value [属性值]*/function __set($key,$value){$this->arr[$key] = $value;}代码:$object->title = 'blue'; //设置不存在的属性,调用__s...转载 2019-01-17 16:40:22 · 199 阅读 · 0 评论 -
有关php "count"
php "count"的两个注意点 我们在日常的项目中可以说见的最多的应该是 count($array),单纯判断是否大于0是不严谨的。如果我需求统计是个多维数组元素的个数。莫非让我递归去统计?不,php是个聪明的语言,他不会让他的开发者做这么蠢的事情。这里就说到 count的 第二个参数 mode int count ( mixed $array_or_countable...转载 2019-01-08 18:19:48 · 166 阅读 · 0 评论 -
PHP 单例模式和工厂模式
为什么要用单例模式? php常常和数据库打交道,如果在应用中如果频繁建立连接对象,进行new操作的话,会消耗大料的系统内存资源,这并不是我们希望看到的。再则,在团队合作项目中,单例模式可以有效避免不同程序员new自己的对象,造成人为的系统消耗。单例模式又称为职责模式,它用来在程序中创建一个单一功能的访问点,通俗地说就是实例化出来的对象是唯一的。所有的单例模式至少拥有以下三种...转载 2019-01-15 17:32:15 · 594 阅读 · 0 评论 -
分享一个PHP高性能导出excel的好方法
分享一个PHP高性能导出excel的好方法为什么说高性能?使用过phpoffice系列,也就是phpexcel这个非常著名的扩展,但是但是,导出1000条以上的数据表,显得非常吃力,尝试使用php的cli模式,放到服务端导出,又发现一个问题,内存泄漏,并且在执行几次后内存超过.于是自己写了个方法,导出excel,性能远超phpexcel插件原理是什么?简单粗暴,组装html成xls...转载 2019-06-03 11:17:25 · 1257 阅读 · 0 评论 -
php 流量单位计算
<?phpgetBytes(2566666);function getBytes($bytes){ $KB=1024; $MB=$KB*1024; $GB=$MB*1024; $TB=$GB*1024; if($bytes<$KB){ echo $bytes.'B'; }else if($bytes<$MB){...原创 2019-01-29 17:12:49 · 647 阅读 · 0 评论 -
重定向-含义
重定向的目的有两个:设置根目录为project所在位置,以及将所有请求都发送给 index.php 文件。如果是Apache服务器,在 project 目录下新建一个 .htaccess 文件,内容为:<IfModule mod_rewrite.c> # 打开Rerite功能 RewriteEngine On # 如果请求的是真实存在的文件或目录,直...转载 2018-08-09 10:43:16 · 1560 阅读 · 0 评论