
thinkphp5开发总结
优倍网络
一个游走于前端和php的码农
展开
-
thinkphp5.0 composer 安装oss提示php版本异常
但是我查了本地项目运行环境的确是7.3,后来察觉可能是环境变量问题,结果一查果然环境变量指定的php是7.0目录,修改为7.3。本地 phpstudy 环境,安装的有7.0到7.3三个版本,首先确认composer已经安装。关闭cmd,重新打开cmd面板,切换至项目根目录,执行composer命令,完美运行。原创 2023-09-11 18:43:12 · 877 阅读 · 0 评论 -
thinkphp5 正则采集远程图片并生成缩略图;Image::open 处理图片失败的情况
场景复现:对采集的图片进行压缩处理出现失败的情况,跟踪打印image::open无返回值采集流程:数据库提前录入产品的外部链接,正则匹配图片地址,获取到图片的url,通过curl下载到本地,再进行处理。//定时任务:定时采集有赞图片public function timing_get_goods_img(){ $get_img = Db::name('goods')->fie...原创 2019-10-26 16:35:29 · 1142 阅读 · 0 评论 -
ajax加载数据返回上一页丢失;h5本地存储localStorage
手机端因为用户体验问题,经常需要用到局部刷新,但是一般异步加载的内容在返回上一页的时候会出现数据丢失,又需要重新加载,这样就显得很不友好,而h5提供了一个localStorage 用法,能将异步加载的内容存储到本地,返回上一页的时候再读取出来显示到对应区域,有一个大神总结了两个用法,比较详细和全面,同时还做了兼容性分析,具体原理请移步:https://blog.youkuaiyun.com/a727911...原创 2018-10-24 05:21:13 · 1458 阅读 · 0 评论 -
tp5支付宝支付接入遇到的各种坑
踩坑 1,支付宝配置文件:alipay_public_key 这个是指支付宝公钥,不是自己通过加密工具生成公钥踩坑 2 ,回调域名中不能有其余参数,另外,我当时为了这个问题纠结了三个小时,回调日志死都写入不了日志,后来猛的想起来,我把回调写在会员控制器中,会员控制器又继承了会员session判断,所以他回调一直走不进去,我勒个操,一万个草泥马崩腾而过支付宝新手接入流程概览:入驻...原创 2019-01-21 14:33:13 · 1604 阅读 · 0 评论 -
thinkphp5 生成带logo二维码
项目需求:网站报名页推广,需生成不同二维码分配给推广员,统计推广和报名情况思路:利用PHP自带类库 qrcode生成二维码,参数为添加的会员userid,通过访问页面获取 userid 进行相关的业务操作实现效果:加上 tp5 命名空间的 qrcode 类库请移步我另外一篇文章传送门:https://blog.youkuaiyun.com/qq_27987023/article/detai...原创 2019-01-16 12:50:21 · 844 阅读 · 0 评论 -
thinkphp5 小程序支付;一个文件搞定小程序支付
小程序支付原理实际上跟微信公众号普通支付原理类似,复制企鹅的原话就是:商户系统先调用统一下单接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易回话标识后再按扫码、JSAPI、APP、小程序等不同场景生成交易串调起支付,具体API接口请查看"API列表"所以现在基本明确了两个步骤,首先需要生成预支付交易单,其次根据预支付订单去唤起相对应的支付,小程序唤起微信支付的内置api是wx....原创 2019-01-16 14:10:16 · 2362 阅读 · 3 评论 -
thinkphp5连续签到;php连续签到奖励不同积分案例
最近项目有个需求,需要实现连续签到奖励不同积分,中间断签则重新计算的功能,弄了一晚上,写了一个雏形demo,记下开发思路。需要考虑部分:1,会员基数大,如果每个人的签到记录都存入数据库,每次签到查询会造成较大的查询和写入压力2,签到不同天数积分的获取问题初步设定优化方案:每次会员签到,触发删除签到记录,删除掉该会员数据两天前的签到数据,保留前一天的签到作为签到存档开发思路:会员...原创 2019-03-19 12:12:00 · 3190 阅读 · 0 评论 -
微信JSAPI支付回调notify的踩坑处理;微信支付回调调试方法
微信支付方式有很多,在公众号开发中比较常用的就是用JSAPI进行支付处理,方便快捷,官网提供的有sdk,接入方面比较简单,不做说明,或有时间了再整理吧,着重总结下在处理支付结果通知的方面遇到的恶心问题。项目框架:tp5头部引入微信支付类://微信支付类use wxpay\database\WxPayUnifiedOrder;use wxpay\database\WxPayOrde...原创 2019-04-15 07:24:23 · 10364 阅读 · 1 评论 -
tp5微信开发(五)--- tp5微信企业付款到零钱开发实践
项目需求:客户有一个分销项目,需要对分享获得的奖励直接发放至客户零钱钱包。开发文档传送门:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_1企业付款到用户零钱开通条件:1、商户号(或同主体其他非服务商商户号)已入驻90日2、商户号(或同主体其他非服务商商户号)有30天连续正常交易...原创 2019-05-04 02:03:15 · 3153 阅读 · 7 评论 -
tp5微信开发(六)--- tp5微信三级分销关系建立;微信jssdk分享
项目需求:点餐系统因推广需要,需对每个产品设置分销提成奖励项目思路:通过微信分享接口 jssdk ,将分享者的openid以参数形式放到分享链接中,用户点击,根据openid去分配上下级关系。微信第三方分享sdk:已包含命名空间,解压放置extend 目录下,具体目录为:extend/org/wechat/Jssdk.php链接: https://pan.baidu.com/s/1PR...原创 2019-05-04 03:11:40 · 1260 阅读 · 0 评论 -
layui集成wangEdit富文本编辑器
写出layui这个框架的人绝壁是一个大牛,很大很大的大牛,前端菜鸟表示除了顶礼膜拜就只剩下五体投地了【此处省去洋洋洒洒五千字崇拜】。。。。用了一次layui后台模板后就爱上了,我选的是2.3版本的,结果在集成了官网给的编辑器后,发现功能着实有点少,不支持图片批量上传,不能对图片大小进行设置,不能查看源码,代码简洁了但是功能去除了不少,满足不了后台功能开发,虽说官网说了会在后面版本完善,老夫着实...原创 2019-06-10 09:47:56 · 5524 阅读 · 5 评论 -
phpexcel 导入遇到空值被跳过的异常处理
场景复现:导入订单数据,有的列的某一项为空,结果空的那格被直接跳过了,导致后期索引出现一系列问题,如图修复:phpexcel/worksheet.php 2148行左右,搜索setIterateOnlyExistingCells,参数改为false即可...原创 2019-09-24 17:23:10 · 975 阅读 · 0 评论 -
thinkphp5 向下滑动触发“ 加载更多 ”;ajax 异步加载更多
实现效果:手机页面向下滚动加载数据前端代码:<!--思路:向下滑动触发ajax,向后台请求数据,如果能取回数据,则更新偏移量,反之提醒无更多数据--><div class="list-box"> {volist name="jifen_list" id="vo"} <div class="list">原创 2018-10-23 02:16:34 · 4854 阅读 · 3 评论 -
tp5 js传参;thinkphp5 js跳转传参;thinkphp5 ajax返回参数跳转
有的时候我们发送ajax请求到后台,然后返回一个动态的参数到url做跳转,因为tp有专门的路由,直接将js带入到tp路由去生成显然不现实,这个时候只需要迂回一下,先用tp自带路由生成一个连接,然后再用js去替换即可demo:$.post('{:url("home/member/order_sub")}',$("#order_form").serialize(), function(dat...原创 2018-10-17 07:34:54 · 3339 阅读 · 0 评论 -
tp5微信开发(二) ---- 微信关键字自动回复,图文回复,关注自动回复
关于微信接入第三方域名进行业务开发的相关说明已在另外一篇做了说明,这里不做赘述,接入步骤请移步https://blog.youkuaiyun.com/qq_27987023/article/details/82861521本篇示范微信交互过程中的几个基础事件,主要判断标准参数为$postObj->MsgType,分别介绍当用户对公众号上传一个图片,回复一个文本以及关注事件的几个推送,其他诸如音乐...原创 2018-09-30 05:58:31 · 4401 阅读 · 2 评论 -
tp5上一篇下一篇;php上一篇下一篇
最终实现效果:前提:文章有分类,权重,时间排序等流程:因为这个功能不算难,本来想着是否能伸手主义一次,直接去网上拷贝一下直接用,奈何百度一下发现很多都是直接用的id为参照,比当前id小的即为上一篇,反之则为下一篇,这样的话弊端就相当明显,如果在列表中加上分类,权重排序,时间排序等等,显而易见简单的根据id取值就有些误差,故重新整理一份,不仅tp5适用,其他程序也可以用,此处仅以tp5做说明上代码:...原创 2018-06-25 10:21:01 · 12860 阅读 · 13 评论 -
tp5 QRcode生成带参数二维码
当时为了这个生成二维码,踩了各种坑,搞了一晚上才搞出来,综合网上各位大神,写下笔记以备下次使用头部useuse qrcode\qrcode;header('content-type:image/png'); //设置gif Imageob_clean();$url = urldecode("您的链接");$qrcode = new QRcode();$png = QRco...原创 2018-08-18 15:51:11 · 4108 阅读 · 0 评论 -
thinkphp5+PHPexcel导入导出
网上很多资料都是php源码的,因为项目是tp5的,所以整合了下导入导出的tp5版本,做下笔记以备用。后台样式:导出样式:材料准备:PHPExcel类库:https://pan.baidu.com/s/1oTMU2qj6OWE4Svdf_b0i7g 下载解压至tp5 vendor目录下即可头部use:use PHPExcel\PHPExcel;导出:<?...原创 2018-08-26 15:59:06 · 502 阅读 · 0 评论 -
base64上传头像;php ajax前端压缩图片上传;thinkphp5异步上传头像
实现效果:点击头像,直接选择图片,选完图片,直接执行异步上传并替换图片相关知识点:php+ajax亮点:如果选择图片较大,会在前端进行压缩上传,有利于提高上传速度和减轻服务器压力html代码比较简单,实际上就是用绝对定位将上传框定位到图片上层,并将背景透明化即可,即实现了点击图片实际上是触发上传框效果,不做赘述<img src="__HOMESTYLE__/images...原创 2018-08-24 16:07:51 · 2078 阅读 · 0 评论 -
tp5倒计时发送验证码;倒计时60秒触发发送短信
实现效果以及项目背景:接手一个商城项目,因为用到短信发送的地方比较多,找回密码,修改绑定,安全设置等,都用到了短信验证,对每一个操作单独写一个发送短信显然不合适,所以建议这种用一个统一的短信发送模板,即:【签名】您此次操作的验证码为:******;如非本人操作,请忽略。 因为本项目是客户指定的短信供应商,不做多余接入解释,直接跳过发送步骤,另外一篇文章会专门写到我用过...原创 2018-09-25 12:59:19 · 1357 阅读 · 0 评论 -
TP5分页返回数据处理;分页转数组
第一次摸tp5的时候分页做的的确挺头疼,用 paginate 得到的数据直接用foreach会报错,后来选择了php转数组方法放到common里面用了好久,偶然看手册发现还有一个 toArray 属性,瞬间想给不认真看手册的自己一拳。手册数据转换传送门:https://www.kancloud.cn/manual/thinkphp5/138667demo:public functio...原创 2018-09-25 13:24:45 · 4128 阅读 · 0 评论 -
tp5 宝塔open_basedir restriction in effect 错误; IIS open_basedir restriction in effect
很久前做过的一个微信项目,客户突然找到我说换了部署环境后网站报错,再跟客户确定了php版本,伪静态设置后,网站依旧打不开,官网手册这样解释:然而因为客户是iis8的表示该文档一点鸡毛用都米有哇,求助百度,百度一大堆让改php.ini的,然而我又查看了我本地phpstudy也没有设置open_basedir依旧可以访问,更重要的是相同的程序我在其他宝塔服务器上部署并没有出现过问题,继续百度。...原创 2018-09-25 14:07:57 · 12804 阅读 · 2 评论 -
tp5微信开发(一) ---- 微信公众号配置token
企鹅的文档写的比较纠结,或者说写的因为太过详细看的有点懵逼,大概的整理下我个人对微信公众号的理解,尽量用通俗易懂的方式,写的不对的地方欢迎指正,毕竟我也是菜鸟,本笔记仅供参考。 其实很多人的第一概念就没搞明白微信token的验证意义,通俗来讲,微信给没有开发能力的提供的有默认的诸如菜单管理,自动回复管理等,但是这些功能仅只能在公众平台才能进行管理,如果我们要转移到第三...原创 2018-09-27 01:37:33 · 4114 阅读 · 3 评论 -
thinkphp5关键字搜索高亮
实现效果:form表单结构:<form action="{:url('home/news/news')}" method="get" id="art_search"> <div class="pull-left news-ltl"> <span class="pull-left">&原创 2018-10-18 00:32:11 · 2303 阅读 · 2 评论 -
tp5微信开发(三)----thinkphp5接入微信登陆
数据库说明:因为是集成的tp5,所以公众号相关信息是通过后台管理的,该代码中的setup表即为配置信息表,其中appid:公众号appid;appsecret:公众号秘钥;back_url:回调地址,由于我接收code是在getUserOpentId方法里,所以我这个back_url 值为:http://域名/home/index/getUserOpentId 【开启伪静态情况下可以把...原创 2018-10-14 07:23:39 · 10354 阅读 · 8 评论 -
tp5微信开发(四) ---- 微信模板消息推送
这篇文章是建立在用户已经授权登陆并已将用户openid存入session的基础上,前端表单异步提交并实现模板消息推送,具体效果:惯性总结下流程:1,获取用户openid【接收方】2,在微信公众平台申请模板消息发送权限,选择合适行业,点击提交,一般审核在3-5个工作日;审核通过,会出现很多同行业模板,选择合适的添加到自己的模板库,通过模板详情可以获取到该模板的数据结构和模板ID,如果...原创 2018-10-14 07:49:50 · 4362 阅读 · 0 评论 -
Thinkphp5 phpmailer QQ邮箱发送邮件
网上看到到各路大神都总结的很详细,自己项目也用到过一次这个功能,就直接把整理好的代码分享一下因为tp5需要命名空间支持,我的phpmailer类已经加好了命名空间,下载后解压直接放到vendor 目录下即可直接在控制器调用就行。百度网盘地址:https://pan.baidu.com/s/1eI0wqv9ydJQyayyUfyljKg至于基础的qq smtp设置我就不做赘述,qq邮箱设...原创 2018-06-07 18:52:58 · 769 阅读 · 0 评论