PHP
zpfnevergiveup
纸上得来终觉浅 绝知此事要躬行,永远不要停止成长
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
php接受post/get变量进行校验和判断
相信一开始大家都做过留言板类似的功能,主要就是接受变量,然后对变量进行处理,然后写入到数据库当中!但是如果是真是的线上的类似留言板的功能,我们需要对用户输入的参数进行过滤和校验,这个过程中,一开始的我们都会使用if进行判断,当然中间还需要考虑sql注入、xss攻击这些,sql注入的话我们可以使用pdo进行参数绑定然后进行过滤处理,xss攻击的话最简单的我们选择php htmlspecialchar原创 2018-01-14 11:44:23 · 3916 阅读 · 0 评论 -
PHP实现无限级分类分析
最近在写一个博客,由于博主栏目比较多,所以二级栏目已经满足不了,所以需要实现三级菜单,下面我们就一点点的来分析。 这是我最后实现的效果图: 由于需要实现无限级分类,所以我们需要知道它的子栏目有什么? 最后实现的数组是这样的形式: Array ( [0] => Array ( [category_id] => 1原创 2016-12-01 19:31:37 · 4140 阅读 · 0 评论 -
PHP使用数字作为SESSION的Key一刷新页面,Session就消失了
首先我想要实现的效果是通过SESSION变量限制并统计文章的浏览量,具体想法:每个文章都有一个ID号,进入文章页面通过SESSION,为该变量建立对应的SESSION值,例:ID为9号的文章,$_SESSION['9']=9;然后通过判断是否存在对应ID为9的$_SESSION,如果不存在对应的文章浏览量加1,存在的话文章浏览量不变,具体实现如下使用thinkphp实现: $ses原创 2016-12-12 18:01:46 · 3295 阅读 · 0 评论 -
Redis安装php扩展
1.首先下载源码包 进入redis官网https://redis.io/ 点击Cilents进入页面,页面里面有很多语言的扩展,点击PHP进入php的扩展下面,扩展里面有一个phpredis的扩展点击进去github下载页面 2、第一步也就是进去地址:https://github.com/phpredis/phpredis ,点击clone or download下面有一个Download原创 2017-04-19 08:57:04 · 500 阅读 · 0 评论 -
判断PHP的exec函数是否执行成功
判断PHP的exec函数是否执行成功 做一个代码发布的系统,需要用到PHP的exec函数来执行Linux下的命令和git,svn命令,如何判断PHP的exec函数是否执行成功呢? 写个PHP文件来做实验: exec函数第一个参数是执行的命令,第二个参数是执行的结果,第三个参数是执行的状态。转载 2017-07-23 20:47:17 · 4161 阅读 · 0 评论 -
PHP实现二分查找(Easy said than done)
二分查找思想大家都知道,但是今天我再纸上面写二分查找的时候,发现写不出来,大致逻辑可以写出来,但是上机运行就通不过了,说明还是没有真正理解二分查找,同时说明自己的基础太差了!多多练习手写代码吧,锻炼自己的思维能力 <?php //while循环实现二分查找 function binarySearch($arr, $find) { $low = 0; $high = count原创 2017-08-25 17:52:40 · 592 阅读 · 0 评论 -
PHP获取两个时间之间的年和月份及间隔天数 PHP两个日期之间的所有日期
[php] view plain copy $time1 = strtotime('2014-02-04'); // 自动为00:00:00 时分秒 两个时间之间的年和月份 $time2 = strtotime('2015-02-06'); $monarr = array(); $monarr[] = '2014-02'; // 当前月;转载 2017-09-05 20:14:06 · 501 阅读 · 0 评论 -
PHP生成csv文件
PHP生成csv文件原创 2017-09-06 21:10:27 · 711 阅读 · 0 评论 -
ab压测工具学习与使用
在学习ab工具之前,我们需了解几个关于压力测试的概念 吞吐率(Requests per second) 概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。 计算公式:总请求数 / 处理完成这些请求数所花费的时间,即 Request per second = Compl转载 2017-09-25 15:37:43 · 531 阅读 · 0 评论 -
PHP程序员的技术成长规划
PHP程序员的技术成长规划 作者:黑夜路人(2014/10/15) 按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别对技术学习的盲目和慌乱,简单梳理了这个每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定学习成长目标。 本文按照目前主流技术做了一个基本的梳理,整个是假设PHP程序员不转载 2017-09-27 09:39:50 · 428 阅读 · 0 评论 -
由数组未初始化引起PHP脚本出现内存不足 PHP Fatal error: Allowed memory size of
项目中遇到需要统计周粒度数据,随着时间越来越长,请求的数据会越来越多,超过nginx fastcgi_read_timeout 10 的限制,所以出现504 Gateway Time out,我把数据放到一个中间数据表中,当前端需要请求数据的时候从 中间数据表中获取数据,但是,发现Http状态码变成了500,看了一下日志报错出现 PHP Fatal error: Allowed memo原创 2017-10-12 12:22:36 · 472 阅读 · 0 评论 -
前后端联调接入第三方接口之302游戏大作战的故事
业务背景: 接入第三方接口,获取用户名,实现用户登陆 接口采用Java编写,我们的平台前端业务使用React.js 后端采用PHP实现数据接口 业务流程: 前端向后端发请求,后端调用第三方接口,第三方接口实现跳转并跳转到登陆页面,登陆页面里面有一个回调地址,也就是登陆成功以后返回到调用该接口的地址。目标是返回到前端首页,并显示用户名。 302游戏大作战 关卡1 :由于r原创 2017-11-07 15:59:30 · 1947 阅读 · 0 评论 -
获取字符串中最长的连续数字字符串或最长的非数字字符串
主要思路: 分析的时候可以用来两个指针来进行分析解决,首指针指向头部,如果当前位置为数字的话,第二个指针从当前位置下一个位置开始寻找,如果是数字记录下来,如果不是数字,把该位置的下标+1也就是下一个位置作为下一次寻找的起始位置,继续需找,如果长度大于当前最长长度,进行替换,否则继续寻找 获取字符串中最长的数字字符串 <?php $str = 'abcd12345ed125ss123原创 2017-10-16 16:10:48 · 1169 阅读 · 0 评论 -
使用strpos函数时,在本地测试没有问题,但是上传到服务器没有反应(变量类型)
今天我使用strpos函数时,在本地wamp测试完全没有问题,但是上传到服务器上没有反应。但是在微信开发的时候,没有办法使用var_dump查看变量类型,在类里面定义的数据成员,测试了好久都没有发现问题,最后在服务器上测试,把变量换成字符串,然后就可以了。然后我就使用(string)把变量 $this->变量名强制转化为(string)类型,通过这个小问题,我明白了使用PHP函数的时候也需要注意变原创 2016-09-06 21:44:22 · 818 阅读 · 0 评论 -
php继承父类,子类和父类中都有同名方法,实例化子类,在父类中调用这个方法,调用的是子类的
php继承父类,子类和父类中都有同名方法,实例化子类,在父类中使用$this->function() 调用子类和父类中都有的方法的时候,这个时候真正调用的是子类中的方法,我们容易看到$this 然后以为是调用父类中的方法,这点是我们看代码的时候容易出错的地方,特别是代码多的时候,特别容易出错。需要我们看代码的时候仔细一点。 实例如下: <?php class a { public fun原创 2018-01-05 09:22:17 · 5728 阅读 · 1 评论 -
开发中遇到的小细节问题(url路由中的&和?号 与 == 判断变量是否相等)
1、今天从浏览器使用url请求的时候使用如下请求地址: http://192.168.33.10:18086/x/sign/list&sid=95e781c23e472fd6df4a4f5be2abc168大家看出有什么问题了吗?我其实第一眼看过去也没有什么问题,但是页面上面上面一直报404,如下报错:{code: -404,message: "Not Found",data: [ ]}n...原创 2018-04-03 19:36:08 · 470 阅读 · 0 评论 -
PHP7源码安装
1、下载php源码 wget http://am1.php.net/get/php-7.2.4.tar.gz/from/this/mirror 重命名: mv mirror php-7.2.4.tar.gz 使用 tar zxvf php-7.2.4.tar.gz 解压 如果解压重命名后发现 使用tar命令出错如下: Child returned status 1 ...原创 2018-04-18 16:31:55 · 1705 阅读 · 0 评论 -
当下我的小迷茫
临近毕业的我发现还有很多东西不会,很多东西仅仅是知道会用,但是没有搞清楚它为什么是这样?(有点难受) 接下来慢慢应该搞懂的东西: 路由: 浏览器发送一个请求,php是如何接受这个请求,然后进行路由? 请求: 路由是如何分发的?分发完成后如何发送到每个Controller里面的呢? 数据库处理: 使用pdo操作数据库,这个过程中mysql 是如...原创 2018-05-19 14:27:39 · 325 阅读 · 0 评论 -
Laravel 使用passport 验证api的时候出现Route login not defined
在使用Laravel写api的时候,因为是前后端分离所以我们需要使用Laravel的API Authentication 所以我们需要首先使用composer 安装 passport 然后才能使用,我安装Laravel官方文档上面配置完成后使用浏览器范文路由一直出现Route login not defined,查了很久没有发现为什么不行,后来问同事,原来它的Accept需要设置成为applica...原创 2018-05-15 21:46:22 · 5385 阅读 · 1 评论 -
array_multisort(): Argument #2 is expected to be an array or a sort flag
今天使用array_multisort() 的时候出现 array_multisort(): Argument #2 is expected to be an array or a sort flag是因为参数中的第二个参数是常量SORT_DESC,SORT_ASC, 代码中写成了'SORT_DESC' 然后就出现了上面的错误。使用方法的时候还是要仔细看手册...原创 2018-07-11 16:34:06 · 7645 阅读 · 0 评论 -
do while 相关
do { break; }while(false) 相等于goto 大家可以网上查一下$count =0;do { //进行相关操作} while ($this->result() !=0 $count<3) 可以进行重试机制,当函数result的结果不为0,进行do while循环中的内容,也就是当函数结果没有执行成功的时候可以进行循环代码中的代码,也即重试机...原创 2018-07-05 19:47:11 · 302 阅读 · 0 评论 -
缓存设计与更新
业务场景: 我们需要有有一个留言板,可以进行发帖,用户登录以后可以对帖子进行回复。用户可以对帖子和留言进行点赞。由于我们有并发量,如果直接对数据库,有可能出现问题,所以我们需要对数据列表进行缓存处理。处理方案: 将数据存储到NoSql中,当进行数据读取的时候直接从NoSql中读取数据,我们可以选择的Nosql有Memcache和Redis,两者之间的区别和使用,我...原创 2018-07-12 22:38:02 · 452 阅读 · 0 评论 -
php对二维数组中按照某个键进行排序
/** *@desc 给定二维数组按照指定的键进行排序 *@param array *@return array **/ function array_sort($arr, $keys, $stype='asc'){ $keysvalue = $new_array = array(); foreach(...原创 2018-07-25 17:19:23 · 772 阅读 · 0 评论 -
Yii user组件使用与初看
想要实现的需求(从哪里来?) 目的:Yii使用Yii::$app->user->id获取用户的user_id,它是从session中或者cookie中获取的,因为我们现在使用的是JWT的验证方式,也就是我们获取用户的user_id和相关信息是从客户端传过来的JWT的token中获取的,所以我们就需要修改Yii2.0User组件中的代码来实现我们的需求。 分析 那么Yii使用us...原创 2019-04-04 18:02:23 · 1403 阅读 · 0 评论 -
从框架看PHP的五种境界及各自的薪资待遇
在撰写此文前首先必须申明的是本人不鄙视任何一种框架,也无意于挑起PHP框架间的战争,更没有贬低某个框架使用者的用意,本文纯粹个人的看法。你可以认为我无知也好,或者装逼也好,请不要试着在任何情况下,随便发起言语的攻击,这只是我个人的一些经验而已,你可以选择赞成或不赞成,也可以选择看与不看。 还有本人基本对这些框架中的大部分都用的时间比较长,绝对不是随便出个Hello World!就在这里评论,曾任...转载 2019-03-27 10:57:09 · 809 阅读 · 0 评论 -
使用yii 自定义错误显示遇到的问题
使用yii 自定义错误显示返回前端json信息想要实现的需求:描述出现的问题:分析过程总结 想要实现的需求: 我们使用Yii2.0框架做一个前后端分离的项目,其中使用了中间件(借鉴了Laravel的思想是使用了Yii2.0中的behaviors进行实现,具体实现还没有来得及看,后面看过可以给大家分享一下)判断用户携带了的token是否正确,我们项目中使用了JWT来进行用户判断,当jwt认证失败或...原创 2019-04-03 15:58:53 · 1339 阅读 · 0 评论 -
使用thinkphp时因为一个’/‘造成页面一直跳转
form表单如下, ">id ">用户名 性别:男 女 模型如下: public function modify(){ $m=M('User'); $data['id']=$_POST['id']; $data['username']=$_POST['username']; $data['sex']=$_POST['sex']; $count=$m->原创 2016-03-13 20:17:29 · 1505 阅读 · 0 评论 -
php中的传值赋值,引用赋值
1: $a=3; $b=5; $b=$a 这一步发生了什么,把$a的值拿出来,放到$b的空间里 就是把$a的值传递给$b,叫做传值赋值 echo $b; //3 2: 引用赋值 $a=3;$b=5; $a=&$b; echo $a,'~'$b; //5 5 为什么是 5 5 发生了什么 过程是 把$a的指向指向了$b的地址空间,即$a,$b指向同一个地址,两把钥匙,指原创 2015-06-05 09:57:24 · 3239 阅读 · 0 评论 -
php关于变量(二)
1:php中的动态变量 $age=1; $1=xingming; $xingming=2; $$age=$ $age=xingming; $$$age=$ $ $age=2; 2:变量的检测 isset() isnull() isint() gettype($c) gettype 直接获取一个变量类型 3:销毁变量 unset() 为什么销毁变量,因为内原创 2015-06-04 20:03:14 · 400 阅读 · 0 评论 -
PHP 变量类型中的一些问题
1:整形:echo 027==??23?为什么因为027是八进制数 2: 0.3-0.2==0.1吗?不等于 为什么? 因为: 浮点数的精度有限。尽管取决于系统,PHP 通常使用 IEEE 754 双精度格式,则由于取整而导致的最大相对误差为 1.11e-16。非基本数学运算可能会给出更大误差,并且要考虑到进行复合运算时的误差传递。 此外,以十进制能够精确表示的有理数如 0.原创 2015-06-04 18:26:03 · 457 阅读 · 0 评论 -
探讨PHP页面跳转几种实现技巧
PHP被许多程序员用来开发WEB的首选语言。在实际开发中,网站的各项功能都可以通过PHP语言的编写来满足,比如PHP页面跳转这一方法。 Web系统中,从一个网页跳转到另一个网页,是LAMP项目中最常用的技术之一。页面跳转可能是由于用户单击链接、按钮等引发的,也可能是系统自动产生的。 此处介绍PHP中常用的实现页面自动跳转的方法。 PHP页转载 2015-06-06 11:58:30 · 430 阅读 · 0 评论 -
百度引入编辑器
如果是 360浏览器不能引入百度编辑器 如果改成 的话 360浏览器就可以引入百度编辑器了原创 2015-06-10 13:46:29 · 411 阅读 · 0 评论 -
从服务器获时间只显示年月日
echo date('Y-m-d',strtotime($row['news_time'])原创 2015-06-13 08:50:09 · 471 阅读 · 0 评论 -
小小<p>标签引发引入百度编辑器出错的"血案"
引入百度编辑器一直出错 ,如果把scrpt 换成 可以引入 但是内容没有在编辑器内部,准备用input 的隐藏域 然后用js 显示出来 但是JS 找了很久,不会,终于原来是一个标签惹的祸 内容 内容原创 2015-06-14 12:31:26 · 1102 阅读 · 0 评论 -
PHP的魔术方法
1.__get(){ } get方法,拦截对象调用权限不足的变量时,可以进行提醒操作 2.__set(){ }set方法,当给无权赋值的对象进行赋值的时候,会调用set()方法,需要传进去两个参数,属性和属性值 3.__isset(){ }判断对象的不可见属性是否存在,但是不一定是真的,(return 1) 4.__unset(){ } 销毁对象不可见的属性时,会调用__unse原创 2015-10-12 13:52:36 · 397 阅读 · 0 评论 -
微信多客服开发
众所周知,微信公众平台做的最好的是招行,所以它才会被放在公众开发文档中作为案例。招行的公众号咨询主要采用“关键词库自动回答”+“人工客服”。而据说人工客服只有1名,不知道是真是假,但至少强大的关键词库对于服务类公众号今后的发展是必不可少的。 传送门:数据库实现关键词回复 好,今天我们也要赶上招行的步伐! 一、 首先,假如用户咨询问题,但自动回复的回答没有解决客户问题,他要求“人工服转载 2015-11-29 14:09:11 · 1698 阅读 · 2 评论 -
微信多客服开发
微信多客服开发,微信开发原创 2015-11-29 14:20:23 · 1564 阅读 · 0 评论 -
一个空格引起的调试 warning: rename
warning: rename(D:/wamp/www/shop/0103/frame0.2/data/log/ curr.log,D:/wamp/www/shop/0103/frame0.2/data/log/16010319908.bak): in D:\wamp\www\shop\0103\frame0.2\include\log.class.php on line 44原创 2016-01-03 11:35:57 · 1270 阅读 · 0 评论 -
thinkphp url重写规则及wamp配置
一开始从一个用thinkphp写的上线网站拷到本地wamp下,但是打开从本地Localhost上进入,发现找不到网站目录,经过百度,发现是wamp的Apache的配置问题, 以下为转载内容,希望对你有所帮助 thinkphp url重写规则及wamp配置 thinkphp的案例中有一个.htaccess文件,里面配置了URL的一些重写规则,如: RewriteEngine转载 2016-02-23 11:30:01 · 696 阅读 · 0 评论 -
切记!在服务器上修改东西,一定要备份!!!
今天在服务器上面改一个文件,在没有备份的情况下,修改了PHP的配置文件php.ini,然后出现了严重性问题,网站打不开了,出现502Bad Gateway,然后全部进不去了,一时不知道怎么解决,把自己改的那一部分改过来以后,然后发现PHP的一些相关配置文件出现了问题,例如php-fpm.conf出现了问题!通过学linux的同学把php-cgi,php-fpm服务都打开了,但是最后,网页还是进不去原创 2016-05-26 19:00:03 · 571 阅读 · 0 评论
分享