PHP
文章平均质量分 59
王世凡
爱好编程,游泳,跑步,篮球,音乐,读书。
展开
-
ThinkPHP中has及hasWhere的用法总结
hasWhere()的用法中,需要注意的两个点,一是,查询条件为第二个参数,二是,可以使用组装好的查询构造器作为查询条件,这一点经常被很多开发者所忽略。转载 2023-11-10 17:49:32 · 1531 阅读 · 0 评论 -
thinkphp 5.0 验证规则
官方文档 - 内置规则系统内置的验证规则如下:格式验证类:长度和区间验证类:字段比较类:filter验证:正则验证:上传验证:行为验证:其它验证:转载 2023-10-16 13:45:24 · 116 阅读 · 0 评论 -
HTML Tidy中文手册
HTML Tidy中文手册_snowqiang的专栏-CSDN博客转载 2021-12-01 13:58:57 · 131 阅读 · 0 评论 -
如何在PHP中利用preg_replace() 对字符串进行替换
今天就跟大家聊聊有关如何在PHP中利用preg_replace() 对字符串进行替换,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。原创 2021-12-01 13:47:16 · 737 阅读 · 0 评论 -
fastadmin自定义表格搜索功能
在fastadmin的搜索功能中默认显示所有字段都可以进行搜索,而且是隐藏显示,但我们一般是需要显示出来让客户一目了然,而且有些字段搜索用不上,这边文章记录一下解决方法。1.首先找到生成的js文件,在文件中找到初始化表格的部分,我们需要禁用默认搜索,开启普通表单搜索在初始化表格的代码里面加上下面这段代码//禁用默认搜索search: false,//启用普通表单搜索commonSearch: true,//可以控制是否默认显示搜索单表,false则隐藏,默认为falsesearchForm原创 2021-07-15 15:28:41 · 2771 阅读 · 0 评论 -
免费的二维码图片生成API接口和使用
如何在线生成二维码图片?本二维码 API 接口,可以将任何内容(字符、汉字或者网址等)转换生成二维码。本接口提供免费生成二维码图片的服务。免费版单 IP 最大访问频率是 1 次/秒,一个IP一天最多可访问 10000 次。如果有需要更多需求的可直接邮件联系。请求地址:https://api.nbhao.org/v1/qrcode/make请求方式:GET文档地址:https://api.nbhao.org/web/#/1?page_id=6请求参数有多个,其中text是必须要传入的,可以为转载 2021-06-29 17:43:15 · 1153 阅读 · 0 评论 -
Redis 并发原子性原理
Redis原子性原理摘要:1、Redis是单进程单线程的网络模型,用的是epoll网络模型,网络模型都是单线程异步非阻塞处理网络请求2、Redis的单线程处理所有的客户端连接请求,命令读写请求。(有些任务比如rdb和aof等操作是fork子进程处理的,不会影响redis主线程处理客户端的命令)3、Redis提供的所有API操作,相对于服务端方面都是one by one执行的,命令是一个接着一个执行的,不存在并行执行的情况。4、Redis客户端就可能会出现高并发出现错误的读写数据,下面我们转载 2021-06-12 17:29:53 · 661 阅读 · 0 评论 -
Thinkphp mysql 数据库断线重连 MySQL server has gone away
数据库断线重连是指,在服务器出现某些原因导致数据库连接中断,需要启动重新连接数据库,并重新执行中断的数据库操作。Thinkphp5.0 是支持数据库断线重连的,代码很值得学习。它支持查询 query(包括select查询等读取操作),执行 execute (包括insert、update等写入操作)和 事务 startTrans() 的断线重连 这三种类型的数据库断线重连操作。这个断线的判断是可配置的,需要将config['break_reconnect']的值设置为 true, 才会执行断线判断。..转载 2021-05-06 17:04:56 · 610 阅读 · 0 评论 -
Thinkphp批量更新数据的方法汇总
以下小编给大家列出了三种实现thinkphp批量更新数据的方法,写的不好还请见谅,有意见欢迎提出,共同学习进步!//批量修改 data二维数组 field关键字段 参考ci 批量修改函数 传参方式function batch_update($table_name='',$data=array(),$field=''){if(!$table_name||!$data||!$field){return false;}else{$sql='UPDATE '.$table_name;}$con=转载 2021-04-20 16:13:37 · 2361 阅读 · 0 评论 -
zencart常用一些跳轉語句
zencart常用一些跳轉語句1. 站點首頁<a href=”<?php echo zen_href_link(FILENAME_DEFAULT); ?>”>Home</a>2. 新産品頁面<a href=”<?php echo zen_href_link(FILENAME_PRODUCTS_NEW); ?>”>New Products</a>3. 特價商品頁面<a href=”<?php echo zen_href_转载 2021-04-07 14:25:51 · 162 阅读 · 0 评论 -
【PHP类库】Requests - A humble HTTP request library
Requests是一个PHP的HTTP类库。相对于cURL等类库来说,它具有简单易用且友好的API,且不依赖于cURL。它支持HEAD、 GET、 POST、 PUT、 DELETE和PATCH等方法,基本能满足任何形式的HTTP请求。Requests不依赖于任何PHP标准库外的扩展,唯一的要求就是需要PHP5.2+的版本。但是如果PHP的cURL可用,Requests会优先使用它,否则会使用socket。安装和使用通过Composer安装 { "require": {.转载 2021-03-26 16:51:07 · 477 阅读 · 0 评论 -
PHP-resque使用经验总结
一、前言公司项目里面用到了推送等第三方库,为了更快速的响应,决定将推送功能放入消息队列中处理。那么,如何做消息队列呢?通过网上资料,找到以下几种方案:1)PHP+redis自己做消息队列2)PHP-Resque3)MemcacheQ4)RabbitMQ最后我们选了第二种方案,因为PHP-Resque是现成的框架,比第一种方案要方便,第二是由于我们的消息队列服务要求比较轻量级,PHP-Resque刚好满足我们的要求。那么,开始了。二、环境搭建有关PHP-resque的原理转载 2021-03-26 16:44:30 · 780 阅读 · 0 评论 -
表单组件 form fastadmin(生成表单元素)
Form组件定义文件位置:/extend/fast/Formphp通用参数$name 通常为我们组件的名称(name属性值),我们在后台接收时可以通过这个名称来获取到它所对应的值$value 通常为我们数据库中的值(元素value值),在新增的时候通常为空,在修改的时候通常需要是数据库中对应字段的值$options 组件的扩展属性,通常为一一键值匹配并最终渲染在组件的属性中,通常我们使用的有data-rule/disabled/readonly/multiple等等,也常用于自定义组件转载 2021-03-10 16:41:57 · 1953 阅读 · 0 评论 -
判断扫码的是支付宝 还是 微信(亲测有效)
根据userAgent获取扫码用户手机信息如果存在 micromessenger 为微信如果存在 alipayclient 则为支付宝否则,都不是IsWechatPayOrAliPay() {// 小写化var ua = window.navigator.userAgent.toLowerCase();if (ua.indexOf(‘micromessenger’) > 0) {return ‘WeiXIN’;}if (ua.indexOf(‘alipayclient’) >转载 2021-02-21 09:42:57 · 3995 阅读 · 0 评论 -
thinkphp5日期时间查询比较和whereTime使用方法
一、使用where方法进行时间的比较查询where(‘create_time’,’> time’,’2019-1-1′); // 大于某个时间where(‘create_time’,'<= time’,’2019-1-1′); // 小于某个时间where(‘create_time’,’between time’,[‘2018-1-1′,’2019-1-1’]); // 时间区间查询二、使用whereTime方法whereTime(‘birthday’, ‘>=’,转载 2021-01-28 08:21:38 · 1273 阅读 · 0 评论 -
ZenCart新增加静态化页面
有两种方法,推荐使用第二种方法:一、使用简易简易页面 优点:方便 缺点:url无法控制二、新建php文件实现 优点:可自己设定URL 缺点:要改好几个地方方法一:只需要到zencart后台 英文:tools-EZ-Pages—>new file按提示填写相应信息 中文: 工具-->简易页面编辑链接形式如:index.php?main_page=page&id=2使用最新ultimate_seo_urls插...转载 2020-10-17 10:22:46 · 265 阅读 · 0 评论 -
在线分词api
http://api.pullword.com/ 在线分词api,感觉还不错原创 2020-08-22 14:06:41 · 360 阅读 · 0 评论 -
fastadmin碰到的问题记录,思路
添加字段操作:1、扩展个人信息表操作:https://ask.fastadmin.net/article/482.html如果出错:https://ask.fastadmin.net/question/1423/3.html2、一键crud前数据库字段要设计好后期不能手动添加吗?答:没有大的改动不需要重新生成crud的,直接在js中添加你要显示的字段,需要多语言的话,可以修改对应的语言文件。3、CMS中在block表中添加一个新字段,然后使用在线命令行不生效:https://ask.fast转载 2020-08-15 14:38:23 · 999 阅读 · 0 评论 -
4个提高脚本性能的PHP技巧
4 个提高脚本性能的 PHP 技巧通常,我使用明显的常规 PHP 函数编写代码来解决相应的问题。但是对于其中的一些问题,我遇到了一些替代解决方案,这些解决方案特别提高了性能。在本文中,我想介绍一些替代方案。如果您正在寻找可能减少生产中执行时间的可能性,这将很有用。让我们看看,哪种 PHP 方法可能会被性能更高的方法所取代,以及是否存在成本或折衷的问题。1. 删除重复项您有一个包含重复项的大型数组,并且希望删除它们,使其仅具有唯一值的数组。????常规array_unique($array)转载 2020-08-15 11:57:40 · 212 阅读 · 0 评论 -
PHP闭包函数
# 提到闭包就不得不想起匿名函数,也叫闭包函数(closures),貌似PHP闭包实现主要就是靠它。声明一个匿名函数是这样:$func= function() {}; //带结束符# 可以看到,匿名函数因为没有名字,如果要使用它,需要将其返回给一个变量。匿名函数也像普通函数一样可以声明参数,调用方法也相同:$func= function( $param) {echo$param;};$func( 'some string'); //输出:...转载 2020-08-13 11:47:33 · 119 阅读 · 0 评论 -
网站高并发解决方案(理论知识)
一:mysql方面mysql方面,我们主要要从以下几点去考虑:1:索引mysql其实没有想象中的那么差,相反,mysql表数据,只要查到了索引,都不会慢,(1.5亿数据表查索引0.0几秒),所以mysql索引是个好东西,用好之后,查询效率自然很快,所以,数据表设计,一定要考虑全面,给查询频繁使用的字段增加索引,或者组合索引索引学习传送门https://www.cnblogs.c...转载 2020-03-25 15:57:22 · 514 阅读 · 0 评论 -
使用easyswoole进行开发web网站
easyswoole作为swoole入门最简单的框架,其框架的定义就是适合大众php,更好的利用swoole扩展进行开发,以下是本人使用easyswoole,看easyswoole文档总结出来的,关于easyswoole开发普通web网站的一些步骤看下文之前,请先安装easyswoole框架本文适用于es2.x版本,现在es3.x版本已经完全稳定,文档,demo完善,...转载 2020-03-25 15:52:57 · 2749 阅读 · 3 评论 -
五种常见的 PHP 设计模式
策略模式策略模式是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。策略模式指的是程序中涉及决策控制的一种模式。策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编程的多形性思想。策略模式的三个角色:1.抽象策略角色2.具体策略角色3.环境角色(对抽象策略角色的引用)实现步骤:1.定义抽象角色类(定义好各个实现的共同抽象方法)2....原创 2020-03-04 16:06:45 · 213 阅读 · 0 评论 -
ZenCart paypal漏单解决方法二
前段时间介绍了zencart paypal漏单解决办法一,文章主要讲使用zencart插件(Paypal Sessions Viewer)实现找回paypal漏掉的订单,这种方法解决ZenCart paypal漏单问题比较简单,方便,漏掉的订单后台单击生成一下就行了。今天强创网络工作室来介绍一种修改ZenCart下单流程来达到解决漏单的办法。ZenCart默认的下单流程是:购物车(shop...转载 2019-10-18 14:44:53 · 371 阅读 · 0 评论 -
PHP HTTP客户端-Guzzle原理解析
本文适合寻找PHP HTTP客户端库,或者对于Guzzle的使用和实现原理比较感兴趣的同学阅读,需要具备一定的PHP基础知识。一、背景在PHP后台开发过程中,经常会遇到模块间需要通过HTTP通信的情形。PHP语言本身只提供了socket操作的接口,并未提供HTTP相关操作的接口。许多现有的实现采用curl扩展充当HTTP Client与HTTP Server通信,但仍需自己封装curl的接...转载 2018-08-31 15:10:20 · 943 阅读 · 0 评论 -
理解CGI、FCGI、php-cgi、php-fpm的概念
CGI:common gateway interface 通用网关接口FCGI:fast common gateway interface 快速通用网关接口PHP-FPM:PHP-Fast CGI Process Managerphp-cgi是CGI协议的实现,PHP-FPM是FCGI协议的实现。CGI 就是web服务器如nginx跟后端动态脚本语言如PHP通信的协议接口。1....转载 2018-08-31 17:58:32 · 411 阅读 · 0 评论 -
Discuz! 的编码规范
目录 1 前言 2 适用范围 3 标准化的重要性和好处 4 PHP编码规范与原则 4.1 代码标记 4.2 注释 4.3 书写规则 4.3.1 缩进 4.3.2 大括号{}、if和switch 4.3.3 运算符、小括号、空格、关键词和函数 4.3.4 函数定义 4.3.5...转载 2018-09-04 11:06:06 · 420 阅读 · 0 评论 -
【PHP】PHP服务端支付宝支付及回调
支付宝支付(由app端自行调起支付宝/微信)1.下载PHP版SDK <?phpdefine('IN_ECS', true);/*App支付 PHP服务端*//*引入支付宝PHP SDK*/header("Content-type:text/html;charset=utf-8;");require_once('../alipay-sdk-PHP/aop/reque...原创 2018-09-14 17:22:09 · 5511 阅读 · 0 评论 -
分享一个PHP高性能导出excel的好方法
为什么说高性能?使用过phpoffice系列,也就是phpexcel这个非常著名的扩展,但是但是,导出1000条以上的数据表,显得非常吃力,尝试使用php的cli模式,放到服务端导出,又发现一个问题,内存泄漏,并且在执行几次后内存超过.于是自己写了个方法,导出excel,性能远超phpexcel插件原理是什么?简单粗暴,组装html成xls,比phpexcel内部内处理要快5倍左右,支...转载 2018-10-24 14:01:20 · 2983 阅读 · 2 评论 -
如何用excel urldecode解码把url编码转为汉字?
统计分析可以反映出网站运营的情况,并根据实际作出相应的调整,是站长必需的基础技能。ytkah感觉最好用的是谷歌统计,里面有个搜索关键词及对应受访页面,这个功能对优化用处很大,但大家都知道访问不太顺畅。statcounter也有相似的功能,但免费版只能显示最近几天或最近几百条的记录。bd统计、cnzz也有类似的功能,只是不太明显,没注意的话可能发现不到,没错,就是访问明细那。最相关的文章:如何从统计...原创 2019-01-10 14:02:45 · 1651 阅读 · 0 评论 -
PHP实现下载远程图片保存到本地的方法
在使用 PHP 做简单的爬虫的时候,我们经常会遇到需要下载远程图片的需求,所以下面来简单实现这个需求。1.使用 curl比如我们有下面这两张图片:$images = [ 'https://dn-laravist.qbox.me/2015-09-22_00-17-06j.png', 'https://dn-laravist.qbox.me/2015-09-23_00-58-03...转载 2019-01-08 14:32:01 · 643 阅读 · 0 评论 -
利用php websocket实现小程序消息推送或及时通信功能 wss的实现
一.配置服务器.1.上传web-msg-sender目录到服务器(下载地址https://www.workerman.net/web-sender)2.修改start_io.php文件修改证书路径(nginx证书)$sender_io = new SocketIO(2120);修改成$context = array( 'ssl' => array( ...转载 2019-05-25 15:20:12 · 2019 阅读 · 0 评论 -
手机号码归属地查询接口(精确到地市)
1、淘宝网((精确到省份)API地址: http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=手机号码2、百度(精确到地市)API地址:http://mobsec-dianhua.baidu.com/dianhua_api/open/location?tel=手机号码...转载 2019-06-10 16:41:21 · 9306 阅读 · 3 评论 -
PHP开发小技巧②④—获取真实的IP(微信支付:网络环境未能通过安全验证,请稍后再试)
今日在项目开发中遇到一个问题,使用微信H5支付时,提示“网络环境未能通过安全验证,请稍后再试”;查看官方文档说是下单ip(spbill_create_ip)地址检验不正确。阅读官方所给sdk代码是:$inputObj->SetSpbill_create_ip($_SERVER['REMOTE_ADDR']);//获取终端ip这种方法不能获取到真实的ip地址,然后我修改成: /...转载 2019-06-27 16:24:57 · 555 阅读 · 0 评论 -
微信公众平台数据接口正式对所有认证公众号开放
经过10多天的微信公众平台数据接口内测,现在正式对所有认证公众号开放了。微信公众平台数据接口正式向所有已微信认证(通过资质认证即可)的服务号和订阅号开放。通过数据接口,公众号开发者可以便利地获取更详细、更灵活的运营数据。 1、用户分析数据接口 通过该接口可以获取公众号的用户增减数据和累计用户数据。 2、图文分析数据接口 通过该接口可以获取公众号群发的图文消息的阅读、分享...转载 2019-07-29 15:37:24 · 1910 阅读 · 0 评论 -
php计算两个经纬度地点之间的距离
php计算两个指定的经纬度地点之间的距离,这个在做计算给定某个地点的经纬度,计算其附近的商业区,以及给定地点与附近各商业区之间的距离的时候,还是用的到的。下面是具体的函数代码: /** * 求两个已知经纬度之间的距离,单位为km * @param lng1,lng2 经度 * @param lat1,lat2 纬度 * @return float 距离,单位为km *...转载 2018-08-27 11:20:07 · 1245 阅读 · 0 评论