PHP
Longwtg
Just do It
展开
-
影响PHP脚本执行时间的因素有哪些?
1.影响PHP脚本执行时间的因素有哪些?①:php.ini 中 max_execution_time 最大执行时间,默认为:30s ,(cli模式下不限制)set_time_limit()函数和配置指令max_execution_time只影响脚本本身执行的时间。任何发生在诸如使用system()的系统调用,流操作,数据库操作等的脚本执行的最大时间不包括其中,当该脚本已运行。②:php-fp...原创 2019-03-01 22:24:39 · 551 阅读 · 0 评论 -
TP5模型获只取SQL语句不执行操作的两种方式
方式1$sql = $model->where(XXX)->select(false);方式2$sql = $model->where(xxx)->fetchSql()->select();原创 2019-06-14 16:53:41 · 3077 阅读 · 0 评论 -
三种方式判断日期范围是否有交集(PHP)
步骤1,先将待比较的两个日期之间的范围转成包含所在范围具体的值的数组(天)步骤2,比较待检验的日期数组与其他日期范围数组之间是否有交集array_intersect/** * 查询指定时间范围内的所有日期,月份,季度,年份 * * @param $startDate 指定开始时间,Y-m-d格式 * @param $endDate 指定结束时间,Y-m-d格式 * @pa...原创 2019-06-13 19:22:06 · 2584 阅读 · 0 评论 -
PHP 使用 array_unique 对一维数组去重 报Array to string conversion的原因
官方文档说明:默认是已字符串的方式去比较值是否相等,在某些php版本中,如果一维数组是中的值是整型,则会报:Array to string conversion,这时候加上第二个参数 SORT_NUMERIC (按照数值类型比较)就没问题了。sort_flags第二个可选参数sort_flags 可用于修改排序行为:排序类型标记:SORT_REGULAR - 按照通常方法比较(不修改...原创 2019-05-28 10:33:21 · 3512 阅读 · 0 评论 -
TP5设置请求header信息
tp5 通过request对象设置header请求信息方式:$this->request->header(['x-token' => $this->token]);原创 2019-05-27 15:02:32 · 10666 阅读 · 1 评论 -
注意:TP5 获取header自动转小写问题
官方文档:HTTP请求头信息的名称不区分大小写,并且 _ 会自动转换为 - ,所以下面的写法都是等效的:$agent = Request::instance()->header('user-agent');$agent = Request::instance()->header('User-Agent');$agent = Request::instance()->hea...原创 2019-04-23 13:58:45 · 7252 阅读 · 0 评论 -
PHP文件操作大全
1.遍历文件夹和文件opendir():打开目录句柄readdir():从目录句柄中读取条目closedir():关闭目录句柄递归扫描文件/** * [scanDir 遍历文件夹下的所有文件] * @param [type] $dir [description] * @return [type] [description] */function scanDir ...原创 2019-03-26 17:45:49 · 1403 阅读 · 0 评论 -
PHP(ZipArchive) 创建压缩包添加中文文件名格式文件出错处理
在PHP某些版本中,使用ZipArchive addFile方法添加中文文件名的文件时出错(return false),处理方式:把文件重命名,再添加,addFile的第二个参数用原来的文件名即可,具体代码如下:$zipFilePath = $path.uniqid().'.zip';//压缩文件$zip = new \ZipArchive();// 打开一个zip文档,ZipArchi...原创 2019-03-29 17:07:19 · 2309 阅读 · 0 评论 -
PHP更安全的加密方式password_hash & password_verify
1.password_hash — 创建密码的散列(hash)(PHP 5 >= 5.5.0, PHP 7)password_hash() 使用足够强度的单向散列算法创建密码的散列(hash)。 password_hash() 兼容 crypt()。 所以, crypt() 创建的密码散列也可用于 password_hash()。参考:http://www.php.net/manua...原创 2019-03-13 14:30:18 · 1204 阅读 · 0 评论 -
TP5数据操作指定查询字段为结果集key
Db::table( ‘数据表名’ ) -> where( 查询条件 ) -> column( ‘字段列表’, ‘数组键名’ ) ;参考:https://www.kancloud.cn/ldkt/tp5_db/229042原创 2019-03-11 15:23:13 · 10277 阅读 · 1 评论 -
PHP二维数组排序 array_multisort
1.根据二维数组中的某一列按升序或者降序排列不需要遍历数组就可以对二维数组排序// 1.构造数组$data = [ ['a'=>23,'b'=>'hhhh','c'=>'2013-12-23'], ['a'=>26,'b'=>'hkkk','c'=>'2013-12-26'], ['a'=>20,'b'=>'565','c'=>'2...原创 2019-03-11 14:08:34 · 4147 阅读 · 0 评论 -
谨慎使用tp5 save方法更新数据
最近使用tp5框架模型更新数据时出现了一点小问题:foreach($user as $k => $v) { if(某些条件满足) { $this->save(['score'=>$v['score']],['id'=>$v['id']]); }}当更新的数据一样,即使条件不一致时,save方法也不会更新数据。解决方法:加上isUpdate(true)更新...原创 2019-03-14 17:37:32 · 21136 阅读 · 1 评论 -
TP5 数据操作自增自减&表达式
1.原始写法查看报错的位置:thinkphp/library/think/db/Builder.php可以看到exp方法已经被舍弃了,但是系统还留下inc 跟dec 方法inc 代表增加 dec 代表减少然后可以修改成这样这种写法对于修改单条记录或者批量修改都支持,批量修改用savaAll($data)即可.$data = [ 'key1‘ =>[ '主键', ...原创 2019-03-06 12:37:03 · 5332 阅读 · 0 评论 -
PHP Warning: PHP Startup: Unable to load dynamic library 'zip.so'
PHP版本 7.3.X 无法加载动态库的问题在php扩展目录/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/zip.so是有zip.so这个文件的[root@bogon server]# php server.php PHP Warning: PHP Startup: Unable to load dynamic li...原创 2019-08-22 17:08:04 · 10824 阅读 · 3 评论