PHP
chaffererdog
这个作者很懒,什么都没留下…
展开
-
PHP计算两个数字加减乘除方法(避免精度问题)
PHP计算两个数字加减乘除方法(避免精度问题),此方法会去除小数点后多余的0,并保留两位小数。原创 2023-06-29 14:28:52 · 641 阅读 · 0 评论 -
PHP 利用getid3 获取mp3、mp4、wav等媒体文件时长等数据
PHP 利用getid3 获取mp3、mp4、wav等媒体文件时长等数据原创 2022-06-24 14:06:18 · 774 阅读 · 0 评论 -
lnmp环境安装ffmpeg,并在Yii2中使用
lnmp环境安装ffmpeg,并在Yii2中使用原创 2022-06-24 12:48:57 · 385 阅读 · 0 评论 -
docker安装php xhprof扩展及使用方法
docker安装php xhprof扩展原创 2022-06-22 11:58:38 · 447 阅读 · 0 评论 -
Yii2手动抛出异常
try { throw new ErrorException('自定义异常信息');} catch(\Throwable $e) { echo $e->getMessage();}原创 2022-05-31 14:32:31 · 289 阅读 · 0 评论 -
PHP校验日期格式是否正确
// 校验日期格式,其中'Y-m-d'根据实际要校验的格式来填写 protected function validateDate($date) { if(date('Y-m-d', strtotime($date)) == $date) { return true; } return false; }原创 2022-05-31 14:10:57 · 726 阅读 · 0 评论 -
TP3.2关于sql的坑
1. 为啥使用getLastSql()打印最后一条sql是空的?原因:配置文件里DB_DEBUG是FLASE解决办法:改为TRUE2. 为啥使用getLastSql()打印的sql没有携带where条件或where条件里没有某个字段?原因:可能是框架开启了数据表字段缓存,where条件里的字段是新加的解决办法:删掉对应数据表的字段缓存文件由此问题得到的知识点:写法一:M('表名')->where('name=1')->find();写法二:M('表名')->where原创 2022-04-02 18:24:21 · 825 阅读 · 0 评论 -
php连接mysql
//连接数据库 $iccMysql = mysqli_connect($this->mysql_server_name,$this->mysql_username,$this->mysql_password,$this->mysql_database); //连接数据库错误提示 if (mysqli_connect_errno()) { throw new \Exception('连接数据库失败:...原创 2022-02-25 17:19:08 · 216 阅读 · 0 评论 -
PHP GuzzleHttp\Client()类 查看返回数据
$client = new GuzzleHttp\Client(); $res = $client->send($Request);//$Request为包含请求头请求url及请求方式、参数的对象。也可用$client的其他方法,如get、post等 echo '<pre>'; // 关键代码(获取对象格式数据):json_decode($res->getBody()) print_r(json_decode($res->getBody())); die;参考:.原创 2022-02-18 12:18:49 · 2064 阅读 · 0 评论 -
PHP将二维数组的键换成指定元素值
// 其中$originArr为源数组,‘path’为指定元素键,$newArr为转换后的新数组$newArr = array_column($originArr, NULL, 'path');参考:https://blog.csdn.net/qq_36303853/article/details/118939790原创 2022-02-10 10:57:39 · 557 阅读 · 0 评论 -
TP6查询时忽略某些字段
使用model的 withoutField() 方法// 忽略id和name字段Db::name($tableName) ->where($where) ->withoutField('id,name') ->find();原创 2022-01-24 18:27:17 · 1821 阅读 · 1 评论 -
PHP向二维数组追加相同元素
$add_arr= [ 'user_source'=>'test'];array_walk($origin_arr, function (&$value, $key, $add_arr) { $value = array_merge($value, $add_arr);}, $add_arr);原创 2021-12-13 14:17:32 · 895 阅读 · 0 评论 -
TP6 异常处理try catch写法
try{ // 这里是主体代码}catch(\Throwable $e){ // 这是进行异常捕获}原创 2021-11-08 14:42:06 · 1572 阅读 · 0 评论 -
TP5实现excel导入
安装phpoffice/phpspreadsheet composer require phpoffice/phpspreadsheetPHP代码示例 public function import($file) { $ext = $file->getOriginalExtension(); if(!in_array( $ext, ['xls','xlsx'])){ return '请上传xls或者xlsx格式'; .原创 2021-11-08 12:31:29 · 800 阅读 · 0 评论 -
PHP解析二维码内容
通过composer安装资源包:composer require khanamiryan/qrcode-detector-decoder使用方法:use Zxing\QrReader;$qrcode = new QrReader("二维码地址");$text = $qrcode->text();原创 2021-09-18 16:34:28 · 429 阅读 · 0 评论 -
PHP 取两个数组的差集
用下述方法代替array_diff()/** 应用场景: 例如: 现有两个数组$arr1, $arr2$arr1 = ['a', 'a', 'b'];$arr2 = ['a', 'b', 'b'];若我们此时想取在arr1中但不在arr2中的数据时,使用array_diff($arr1, $arr2)输出的结果为[];使用array_diff_repeat($arr1, $arr2)则输出结果为['temp_arr1' => 'a', 'temp_arr2' => 'b'].原创 2021-09-09 15:00:13 · 1360 阅读 · 0 评论 -
PHP Composer资源库地址
https://packagist.org/原创 2021-07-07 15:54:40 · 273 阅读 · 0 评论 -
PHP strtotime +1month 不满31天跨月问题
从PHP5.3开始, date新增了修正短语echo date('Y-m-d', strtotime('2021-05-31'. '+1 month'));//输出:2021-07-01date('Y-m-d', strtotime('2021-05-31'. 'first day of +1 month'));//输出:2021-06-01date('Y-m-d', strtotime('2021-05-31'. 'last day of +1 month'));//输出:2021-06-30原创 2021-06-30 15:19:27 · 662 阅读 · 0 评论 -
使用第三方获取小程序数据概况(访问量、用户量等)
一、文档:友盟+链接: https://developer.umeng.com/open-api/ns/com.umeng.umini/apply二、PHP composer安装:https://packagist.org/packages/roiwk/umeng-open-api三、使用方法:eg:获取应用数据概况https://developer.umeng.com/open-api/docs/com.umeng.umini/umeng.umini.getOverview/1public原创 2021-06-16 12:07:11 · 1842 阅读 · 0 评论 -
PHP计算两个时间字符串相加
/** * 两个时间字符串相加 * @param int $time_one 00:00:00 * @param int $time_two 00:00:00; */ public function add_time_second($time_one, $time_two) { $data_one = explode(':', $time_one); $data_two = explode(':', $time_two)原创 2021-06-15 18:12:08 · 361 阅读 · 2 评论 -
PHP获取指定日期之间的所有周、月
/** * 获取指定日期之间的各个周 */ public function get_weeks($sdate, $edate) { $sdateTemp = $sdate; $edateTemp = $edate; $range_arr = array(); // 检查日期有效性 $this->check_date(array($sdate, $edate)); // 计...转载 2021-06-15 15:10:37 · 342 阅读 · 0 评论 -
TP6 where is null写法
二维数组形式写法:use think\facade\Db;$where[] = ['e.create_time', 'EXP', Db::raw('IS NOT NULL')];原创 2021-05-27 11:21:17 · 2658 阅读 · 1 评论 -
TP 伪静态
<IfModule mod_rewrite.c>Options +FollowSymlinks -MultiviewsRewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]</IfModule>原创 2021-05-24 16:11:47 · 1553 阅读 · 0 评论 -
malformed utf-8 characters, possibly incorrectly encoded
环境:TP框架,PHPStorm编译器解决方案:百度上有说是因为数据库编码配置问题,有说是字段问题,也有说是redis问题。但解决方式是更改系统语言设置,操作如下:一、二、三、四、五、参考链接:https://blog.csdn.net/qq_36025814/article/details/103439186/...原创 2021-05-20 15:09:46 · 350 阅读 · 0 评论 -
ThinkPHP 6 提示控制器不存在(真实有效)
1.出现问题的场景:将单应用模式转为多应用模式时出现报错:访问链接:http://www.tptest.com/public/index.php/admin报错:控制器不存在 app\controller\Admin2.查找原因:1、按照官方文档安装了think-multi-app扩展,提示安装成功。2、控制器的命名空间也没写错。3、访问路径与目录名、控制器、方法名一样,访问地址是没错的。4、网上有说,在配置文件config/app.php中,将 ‘auto_multi_app’ =>原创 2021-05-20 10:53:46 · 3000 阅读 · 3 评论 -
nohup和&后台运行,进程查看及终止,结合TP6 command命令实时执行
1.nohup [linux命令]用途:不挂断地运行命令。语法:nohup Command [ Arg … ] [ & ] 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。退出状态:该命令返回下列出口值: 126 可以查找但不能调用 Comm原创 2021-05-11 10:32:41 · 1003 阅读 · 0 评论 -
mysql模糊查询表里的json格式的数据
mysql里查询 json 数据1.mysql里有个字段存储的是json格式的数据,2.现在需要从页面传递参数到php再进行搜索匹配关键字,3.将关键字页json_encode后,去like匹配这个字段,匹配不到解决方案:1.只针对中文搜索,存的数据一样是json,josn里面的中文一般是unicode编码的,将关键字编码一下.2.在mysql里,“" 是需要转义的。两种解决办法:a)因此使用”\”来查询,数据依然是空。(mysql斜杆转义之后,会去转义别的字符,所有要得到斜杆,需要在加一个斜原创 2021-04-26 19:01:25 · 396 阅读 · 0 评论 -
TP6将单应用改为多应用模式
TP6默认的是单应用模式,开启多应用模式要有以下步骤:1.安装多应用模式扩展think-multi-app: 在根目录下:composer require topthink/think-multi-app2.删除原有的controller文件 (必须删)3.新建自己的应用目录4.修改config/app.php中的 开启多应用自动加载 auto_multi_app => true; 如果没有的话不用更改 然后就可以正常访问了原文:https://blog.csdn.net/weixin.原创 2021-04-21 14:36:22 · 616 阅读 · 0 评论 -
PHP 获取某年第几周的开始日期和结束日期
/** * 获取某年第几周的开始日期和结束日期 * @param int $year * @param int $week 第几周; */ public function weekday($year,$week=1){ $year_start = mktime(0,0,0,1,1,$year); $year_end = mktime(0,0,0,12,31,$year); // 判断第一天是否为第一周的开原创 2021-04-16 19:45:05 · 189 阅读 · 0 评论 -
WAMP配置好后访问报404或其他错误
设置伪静态<IfModule mod_rewrite.c>Options +FollowSymlinks -MultiviewsRewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]</IfModule>原创 2021-04-08 20:11:57 · 362 阅读 · 0 评论 -
PHP算法-简单比较两张图片是否一致
一、算法原理步骤将图片转化为8*8的缩略图,根据算法得到这64个像素的哈希值,一次比较两幅图的哈希值,哈希值不一样 count++,若count>=10则不相似,count<=5为最相似(下面的代码中我把哈希值相同的进行count++操作,count越大则相似度越大)步骤:1.将图片缩小为8*8的尺寸2.将小图片变为灰度图像3.计算每个像素的灰度平均值4.与平均值进行比较,大于等于为 1,小于为 0,得到指纹5.将两个图片的指纹依次进行比较,相同 count++ count越大,转载 2021-04-01 15:31:07 · 1333 阅读 · 1 评论