![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP
摘星辰Li
这个作者很懒,什么都没留下…
展开
-
php爬虫非常好用的一个库
具体库连接:https://github.com/jae-jae/QueryList爬虫的流程:用代理模式爬取示例1:require 'autoload.php';use QL\QueryList;$urlParams = null;$opts = [ // Set the http proxy,设置代理模式 'proxy' => 'socks5h://127.0.0.1:7890', //Set the timeout time in seconds原创 2021-03-18 16:00:49 · 606 阅读 · 0 评论 -
thinkphp3升级5一些变更
1、数据库join方法变更Db::table('think_artist')->alias('a')->join('think_work w','a.id = w.artist_id')->join('think_card c','a.card_id = c.id')->select();2、模板库标签库标签默认是{和},所以原来<和>就...原创 2018-08-11 11:45:55 · 1213 阅读 · 0 评论 -
php7与php5区别
1、php标量类型和返回类型声明#主要分为两种模式,强制性模式和严格模式declare(strict_types=1)#1表示严格类型校验模式,作用于函数调用和返回语句;0表示弱类型校验模式。2、NULL合并运算符$site = isset($_GET['site']) ? $_GET['site'] : 'wo';#简写成$site = $_GET['site'] ??'wo';...原创 2018-12-03 17:39:48 · 1191 阅读 · 0 评论 -
fastadmin笔记,应该能解决大部分问题
1、调整弹出框大小,元素新增data-area&lt;a href="javascript:;" data-area='["1000px","650px"]' class="btn btn-success btn-add title="{:__('Add')}" &gt;{:__('Add')}&l原创 2019-01-31 17:29:25 · 9068 阅读 · 0 评论 -
php源码安装步骤和坑
安装php源码主要分为4个步骤:下载和解压config #主要是配置一些安装目录和基本配置信息make #主要是编译和构建make install #主要是安装坑:1、需要安装gcc、autoconfig这些编译工具2、php.ini文件位置问题#一开始没有php.ini文件,需要把源码包下的php.ini-develment这个复制到对应目录下#php.ini这个文件...原创 2019-05-28 10:50:34 · 2928 阅读 · 0 评论 -
thinkphp循环标签自定义变量自增
就是标签功能不能实现自己想要的东西,就写原始的php代码{php}$i=0;{/php}{foreach name="sourceTypeList" item="vo"} {php}$i++;{/php}{/foreach}原创 2019-06-06 10:59:07 · 1353 阅读 · 0 评论 -
thinkphp5查询where类型
大致上分三种:表达式查询(这种应该是5中全新的方式,底下两种跟3时候差不多)数组条件字符串条件参考链接:https://www.kancloud.cn/manual/thinkphp5/118073...原创 2019-06-06 10:59:42 · 1231 阅读 · 0 评论 -
php数字千分位格式化输出
php中有个函数可以千分位的时候默认逗号分隔显示,方便阅读number_format ( float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = "," ) : string//直接模板输出例子{$row.dau|number_format}//输出结果:23,241,23...原创 2019-07-24 11:27:41 · 1637 阅读 · 0 评论 -
乐观锁和悲观锁例子
乐观锁:例子对于一个正在出售的火爆商品,同一个时间,同时有10个人同时发起了10个线程来购买,10个线程读取到数据库的库存有20件和version为9。那么乐观锁读取num数量和version版本两个字段,在更新的结果时候,我们就要更新条件where version=9这条语句,具体UPDATE goods SET num=num-1,version=version+1 WHERE ver...原创 2019-08-01 16:57:18 · 859 阅读 · 0 评论 -
PHPer的成长之路
推荐一篇比较好的PHPer成长道路上应该学习的知识体系架构,也就当做对自己知识点进行一次查漏补缺学习。原文链接:欢迎STAR,《PHPer的成长之路》简单浏览知识点如下:...原创 2019-08-06 16:12:37 · 389 阅读 · 0 评论 -
xss攻击理解
XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是JavaScript,但实际上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻击成功后,攻击者可能得到包括但不限于更高的权限(如执行一些操作)、私密网页内容、会话和cookie等各种内容。XS...原创 2019-10-10 09:59:34 · 380 阅读 · 0 评论 -
php用csv文件导出大量数据
主要解决问题有两个:第一个大数据就要长时间,用通过函数set_time_limit(0);第二个就是数据太大,内存溢出问题。那就要分批切割导入文件输出给浏览器具体代码如下: /** * 导出vip订单列表数据 * @param $condition */ protected function exportVipOrder($con...原创 2018-07-18 16:07:20 · 1802 阅读 · 0 评论 -
thinkphp3.2升级到5.0注意事项
URL的变动首先对3.X的不严谨给开发者们带来的不正确的引导表示歉意,在5.0版本正式废除类似/id/1方式 可以通过get获取到id的方法,严格来讲这样的url是不属于$_GET的,现在可以通过param获取,具体使用可以通过请求部分查询。模型的变动新版的模型查询返回默认对象,系统默认增加了toArray方法,许多开发者在all或select尝试使用toArray来转换为数组,在此希望开发者能理...转载 2018-05-28 13:56:18 · 5443 阅读 · 0 评论 -
thinkphp5 速查表
本速查表里的类都是think为命名空间的,实例化时省去了 use。用的时候注意。本速查表里会有四种方法的调用: 公有方法 $class = new Class(); $class->foo(); 公有静态 Class::foo(); 私有方法 $this->foo(); 私有静态 self::foo();关于注释,为了简洁,/** 的单行注释被我改为了 //...转载 2018-05-21 15:13:39 · 1028 阅读 · 0 评论 -
json数据在前端和php后端处理注意事项
1.前端要解析解析json的数据,要用$.ajax({ type: 'POST', url: url, data: data, dataType: 'json', success: success,});如果用$.post()或$.get()来请求的回来的数据,不能解析为json对象来取里面的值2.js内置两个解析js原创 2015-07-19 23:33:43 · 651 阅读 · 0 评论 -
oauth2在php实践
oauth2解决问题:比如第三获取一些服务,如果通过用户账号和密码,会容易导致泄漏需要解决授权时间范围是多久和这个授权的范围有多大呢还有本身授权了其他第三方应用,如果用户修改密码,导致第三方功能失效oauth2四种授权方式:客户端必须得到用户的授权(authorization grant),才能获得令牌(access token)。OAuth 2.0定义了四种授权方式。...原创 2018-04-03 11:26:42 · 406 阅读 · 0 评论 -
php7和php5区别
1、php标量类型和返回类型声明#主要分为两种模式,强制性模式和严格模式declare(strict_types=1)#1表示严格类型校验模式,作用于函数调用和返回语句;0表示弱类型校验模式。2、NULL合并运算符$site = isset($_GET['site']) ? $_GET['site'] : 'wo';#简写成$site = $_GET['site'] ?...原创 2018-04-03 11:30:25 · 27236 阅读 · 5 评论 -
yii基于workerman的pushserver实现消息推送
需要下载的资料和参考文档http://www.linhongxu.com/post/view?id=215 http://www.workerman.net/download/GatewayWorker-for-win.zip Gateway代码在实际项目中即时消息的展示必不可少,比如站内信,在线客服等,一般这类实现由两种方式,一种是采用ajax轮询的方式拉取,还有一种就是采用websock...原创 2018-04-14 12:08:39 · 1201 阅读 · 4 评论 -
php运行四种模式
四种分别如下:CLICGIFastCGImod_php简答说明下:CLI:就是命令行,例如可以在控制台或者是shell中键入命令:php -f index.phpCGI:规定了php与web server交流的规则,相当于执行了response = exec(“php -f index.php -url=xxx -cookie=xxx -xxx=xxx”)...原创 2018-04-04 14:56:56 · 125 阅读 · 0 评论 -
API 开发总结
自己总结: 有版本控制 新增的接口,虽然有一个同样的的控制器,一样新建一个,如果是更改原来接口,更改不多可以在原接口改,否则新增接口 全部返回的数据如果前端可以自己计算就给他们计算,减少后端服务器压力 可以参考:摘抄:http://www.startupcto.com/backend-tech/building-an-api-best-practices...原创 2018-04-04 15:00:07 · 168 阅读 · 0 评论 -
关于秒杀简单理解
方案主要分成2个层上游层服务层上游层具体做法:当秒杀还没开始的时候,我们可以禁止抢购按钮不能点击开始抢购开始后,这里可以设计用户点击后就禁止点击了,这样可以避免用户再重复点击,造成很大的压力。服务层服务层面主要是减少数据库压力,所有请求都放进redis的队列里面,超出数量范围的都直接返回告知用户已抢购完。对于用应用程序跑的抢购,这个我们也用些每分钟请...原创 2018-04-04 15:13:30 · 178 阅读 · 0 评论 -
windows下wamp配置redis扩展
安装这个扩展需要根据你的php版本来下载对应的dll (1)下载php_redis.dll和php_igbinary.dll。 (2)将上面的2个dll放入php下的ext文件夹 (3)改php文件夹和apache文件夹下的php.ini我的环境:系统: win8.1wampserver: php:5.5.12 apache:2.4.9 mysql:5.6.17看下自己的phpinf...原创 2018-04-04 15:15:18 · 406 阅读 · 0 评论 -
redis管道例子
管道好处: 假 设不会因为tcp 报文过长而被拆分。可能两个tcp报文就能完成四条命令,client可以将四个incr命令放到一个tcp报文一起发送,server则可以将四条命令 的处理结果放到一个tcp报文返回。通过pipeline方式当有大批量的操作时候。我们可以节省很多原来浪费在网络延迟的时间。需要注意到是用 pipeline方式打包命令发送,redis必须在处理完所有命令前先缓存起...原创 2018-04-04 15:16:29 · 353 阅读 · 0 评论 -
linux通过重新编译php来安装bz2
php源码包所在目录cd oneinstack/srctar -zxvf php-5.6.30.tar.gzcd php-5.6.30/ ./configure --with-php-config=/usr/local/php/bin/php-config --with-bz2make && make install说明一些结构和配置1.安装目录...原创 2018-04-04 15:23:27 · 2942 阅读 · 0 评论 -
php创建目录和删除文件
1、创建目录function mkFolder($path){ if(!is_readable($path)) { is_file($path) or mkdir($path,0777,true); }}**==注意==:**midir是一级一级添加目录,要递进增加目录加多参数true。2、删除文件/** * 删除文件 *...原创 2018-05-18 16:52:41 · 359 阅读 · 0 评论 -
PHP BASE64解码
服务端解码:str_replace(' ','+',$_REQUEST['dir'])原创 2015-06-14 23:11:53 · 547 阅读 · 0 评论