ThinkPHP6
zhang-php
自己选择的路,自己喜欢的事,无论如何都可以坚持下去……
展开
-
thinkphp6接入阿里云短信实战和踩坑
下载完之后随便你放哪里,但是要在你当前使用版本的php.ini 中的配置一下正确的引用路径,在 curl.cainfo 后添加路径 : curl.cainfo = "D:\phpcacert\cacert.pem"这里注意一下流程:买完短信服务包后,需要把短信签名,AccessKey,短信模板(一般验证码这种模板是默认赠送的,可以直接使用)先申请,签名和模板是需要审核时间的,具体的操作请在控制台根据提示进行。1、下载sdk,注意切换到你的项目目录下去,我的。以为这样就能顺利发送吗,no,即将遇到。原创 2022-10-22 10:25:26 · 2630 阅读 · 1 评论 -
thinkphp6 实例化调用控制器时报错
thinkphp6 实例化调用控制器时报错,引入其他控制器方法报错原创 2022-10-21 12:36:51 · 1624 阅读 · 1 评论 -
thinkphp6 + phpexcel 导入导出数据,设置特殊表格
第一步:安装excel,使用composer安装,我的是在window下,直接cmd 切换到xicomposer require phpoffice/phpexcel原创 2021-05-30 17:25:23 · 3594 阅读 · 7 评论 -
thinkphp6 + mysql 处理千万级以上的数据查询
我的框架是tp6,查询是本来的查询方法,数据有2千多万条,导致查询的时候卡的不行。注意数据建表的时候使用原创 2021-05-30 13:54:40 · 2667 阅读 · 0 评论 -
php 自定义生成短链工具
因为公司的需求,需要发送推广链接到短信,一开始都是调用别人的链接,后面发现经常有链接失效的情况,极其不稳定,后面索性改成自己的域名来弄。话不多说,上代码:后端链接生成,我这里是thinkphp6框架:<?phpnamespace app\admin\controller;use think\Controller;use think\Validate;use think\facade\Request;use think\facade\Db;use think\facade\Sess原创 2021-05-05 16:12:33 · 438 阅读 · 4 评论 -
php正则表达不连续的多个字符(类似mysql的模糊匹配)
//如下:我需要判断当前链接是否包含4g.6713和sg01$url = 'http://4g.67137777.com/special/20190709.html#sj-bensheng-sichuan-sg01-c066-jzxfy-yiwen-gjc0459161';if(preg_match('/4g.6713.*sg01/',$url,$matches2) > 0){ dump($matches2);}//注: preg_match()会返回符合条件的个数...原创 2020-08-28 14:40:43 · 585 阅读 · 0 评论 -
php 时分秒转为秒,秒转化为天时分秒
一、分秒转为秒/* * 获取时分秒,转化成秒 * 8小时5分5秒 */function turnSecond($str){ $hour = 0; $minute = 0; $second = 0; if(strpos($str,'时') !== false){ $strArr1 = explode('时',$str); $hour = $strArr1[0]; $strArr2 = explode('分',$st原创 2020-07-11 23:39:42 · 1138 阅读 · 0 评论 -
thinkphp6数组分页
一、因为有复杂的数据统计,需要组数组,这时候使用tp6的分页会有问题,于是改为数组分页的方式,将以前tp3的分页拿过来改了一下,话不多说上代码,引入tp3分页源代码,为了和tp6的区别不会太明显,修改了源代码,放入tp6 \vendor\topthink\framework\src\think 下:修改详情:1、样式(ul li)2、C方法改为 config3、U方法改为 url4、ACTION_NAME改为:$request = \think\facade\Request::in.原创 2020-06-27 17:02:48 · 1516 阅读 · 0 评论 -
MySQL 同一字段匹配多个值,时间分组查询
表结构SQL语句:--sql语句,根据时间分组查询,因为我数据库存储的时间戳所以使用from_unixtime函数select from_unixtime(sw_startTime, '%Y-%m-%d') 日期,count(if(sw_guestMsg=1,sw_guestMsg,NULL)) 1句话,count(if(sw_guestMsg=2,sw_guestMsg,NULL)) 2句话,count(if(sw_guestMsg=3,sw_guestMsg,NULL)) 3句话 fr.原创 2020-06-08 10:03:16 · 1801 阅读 · 0 评论 -
thinkphp6同一字段多个like条件
这几天弄了一个多条件的模糊匹配,然后我还发现not like的多条件竟然和like的多条件不一样,害我苦苦研究了一下午,差点就直接是哪个原生代码了。//注意or在数组中的位置not like : $map[] = ['sw_visitUrlFirst','not like',['%bd02-c%','%bd02-f%','%sg04%','%sm04%','or']];like:$map[] = ['sw_visitUrlFirst','like',['%bd02-c%','%bd02-f%',原创 2020-06-08 09:47:05 · 3351 阅读 · 0 评论 -
thinkphp6视图输出字符串内容替换
/config/template.php// 视图输出字符串内容替换'tpl_replace_string' => [ '__public__' => '/public', '__css__' => '/public/css', '__js__' => '/public/js', '__lib__' => ...原创 2020-03-31 15:24:07 · 1636 阅读 · 0 评论 -
关于微信页面一直授权
最近自己又犯了低级错误了,我这里是做用户进入个人中心的微信授权,开发框架tp6,一直跳转的原因一般都是我们自己的重定向问题:1、重定向次数过多,导致code多次使用。这个问题的解决方法是添加:connect_redirect=1详细添加方法:$url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$W...原创 2020-01-03 10:47:13 · 1645 阅读 · 0 评论 -
关于post重复提交数据
此次测试是因为网络请求原因,post提交数据后,后台反应比前台慢,所以为了拿到请求数据,post会自动多次请求。我这里是监听视频播放,给用户追加积分。防止数据重复提交原理:每一轮数据提交的时候,前端建立一个时间戳作为判断数据是否重复的基准。后端执行时,将此次基准时间戳进行session存储,在此次程序执行完毕后,前端拿到返回数据,等待几秒钟再修改下一轮基准时间戳。这里要注意,当我们第二轮时间戳...原创 2019-12-18 10:11:07 · 2191 阅读 · 0 评论 -
thinkphp + mui 移动端上拉加载分页
框架thinkphp6,后台代码:public function wClass(){ //每页显示条数 $num = 5; $map[] = ['vi_status','=','1']; //+++++++++++++++++++++++ ajax获取下一页 开始+++++++++++++++++ ...原创 2019-12-17 17:29:10 · 862 阅读 · 0 评论 -
服务器防sql注入注意事项
一般常见的sql注入都是因为web端网站的问题所导致的,常见需要注意的地方:1、前端所有的输入内容都需要进行特殊代码过滤,过滤方法有很多,可以是js也可以是后端来操作并过滤字符。如果是常见的登录注册这种的话,建议使用正则匹配的方式限制输入内容。2、富文本编辑器漏洞,如果是在前端需要编辑器的地方,请关闭附件上传,输入内容进行过滤,需要文件上传的地方可以在后端使用代码验证。有些黑客会恶意上传带...原创 2019-12-17 15:41:20 · 439 阅读 · 0 评论 -
layui + thinkphp 文件上传带进度条(我这里直接使用了上传进度的百分比,没有使用进度条)
关于后台文件代码(使用框架 thinkphp6):// 获取表单上传文件$file = request()->file('file');if(empty($file)){ return json(['info'=>'请选择上传文件!','status'=>0]);}// 移动到框架应用根目录/public/upload/ 目录下$info = $file-&...原创 2019-12-03 09:11:03 · 2020 阅读 · 0 评论 -
php从数组中随机获取值,拼接成新的随机字符串
//数组封装$enStr = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T...原创 2019-11-21 16:00:57 · 652 阅读 · 0 评论 -
mui picker选择器动态赋值不成功
后端使用thinkphp6框架,查询数据,按照需求封装成前端需要的json数组格式,原始数据如下:开始处理数据:public function index(){ $industry = industry(); //行业详情 ,查询出来的数据,如上面的二维数组 $arr = array(); //空数组 用于存储前台需要的数据 fore...原创 2019-10-10 14:40:05 · 1463 阅读 · 0 评论 -
关于PHP冒泡排序
//冒泡排序,从小到大 定义一个随机的数组$arr = array(8,5,10,6,9,7,11,2,1,3,4,12);$len = count($arr); for($i = 1; $i < $len; $i++){ //控制轮次数 for($j = 0;$j < $len-$i; $j++){ //控制次数,并判断大小交换位置 ...原创 2019-09-28 09:36:15 · 122 阅读 · 0 评论 -
thinkphp6无限级分类,树状菜单
这里是菜单,针对于类似官网首页的菜单导航,因为不限制用户填写菜单的级别以及个数,所以需要做无限级分类,原理就是将所有数据查询出来,然后根据其父级id和级别id来进行遍历,并一边遍历一边增加级别id来反复查询,并将数据一一追加进之前的数据中://我的框架是thinkphp6 ,这个函数定义在common.php中/** * 无限分类-菜单 * @param $cate arra...原创 2019-09-19 16:23:22 · 4838 阅读 · 0 评论 -
thinkphp6 验证码(配置,验证一直不通过,验证码不显示)
最近接触到thinkphp6的RC3版本,验证码都搞了我好长一段时间。1、关于这个版本验证码的配置,官方文档中详细说明了,如果使用扩展内置的方法进行验证码显示,直接在应用的config目录下面的captcha.php文件(没有则首先创建)中进行设置即可,以下设置方式仅限于独立调用Captcha类的时候使用。所以我在config下自己创建了一个配置文件,需要的配置可参照文档自行配置:配置...原创 2019-09-19 10:03:24 · 10940 阅读 · 0 评论