解决PHP PDO limit占位符无效
T。 这个坑被前人踩了无数次啦,这个问题有人说算 Bug,最近我还是踩了一次。因为我在 PHP7 和 PHP5 之间经常来回使用,导致开发环境一切换就会出一些小问题。 使用 LMLPHP 框架在写法上需要注意一点就能避免这个问题,如下示例: $this->db->select($table_name, '*', '1=1 order by id desc limit ?, ?', [['type'=>...
PHP数组式访问接口ArrayAccess
这样的语言预定义接口功能很少人知道,即使不知道也不会影响一个程序员的开发和设计。PHP 的设计者们不直接实现这样的接口就是让程序员有更强的能力创造新的行为的对象。 实现了 ArrayAccess 的类需要实现四个抽象方法,分别是 offsetExists, offsetGet, offsetSet, offsetUnset 。当使用 isset($obj['index']), $obj['index'...
Laravel框架illuminate\support\collection排序问题
Laravel 的 Collection 的排序有个问题,前几天折腾了好久,一直怀疑是自己代码有问题。Collection 对象执行 sort 后需要执行 values 方法,否则 Collection 对象的 items 排序结果没有生效。当然手动的 toArray() 是生效的。查看 Collection sort 方法内部实现是调用了 PHP 的 uasort 函数,该函数排序后会维持原来的 ...
使用php函数simplexml_load_string解析xml注意事项
) "00" } } */ 解决方案示例 从上面的代码示例可以看出,pciInfos 下面的 pciInfo 有些情况下是对象,有些情况下是数组。这样就对后续处理的代码的写法增加了难度了。所以,写代码需要小心翼翼的。如下解决方法:$infos = (array)$s->PciQueryContent->pciInfos; $cardsArr = (array)$infos; if (is_array(...
SHELL中判断命令是否存在的方法
; exit 1; }以上信息来源于 stackoverflow,在国内的一些社区也有类似的提供,不过总有一些瑕疵,不是少了空格,就是引号出问题。发现 realpath 这个命令在 Ubuntu 中需要安装才能用,SHELL 脚本要写的兼容少不了需要判断某个命令是否存在的方法。...
开源网页聊天室应用WebChat发布
继LMLPHP框架之后,LML团队又一开源产品WebChat发布。WebChat是一款基于网页的聊天室程序,遵循MIT开源协议。使用WebChat,能够快速的搭建一个聊天室,方便新团体临时的交流的需要。WebChat拥有以下特点:1.基于MIT开源协议。2.聊天记录永久保存。3.实时推送,让交流无障碍。4.能够快速的搭建聊天室,适合新团体临时的交流需要。5.使用自主研发的通信协议,对数据进行转义处理,...
图像处理技术之图片相似度比较
Today,工作中发现需要去除图片上的水印,由于涉及文章太多,手动重新编辑很慢且容易出错。于是想到了使用脚本比较全部图片的相似度,然后替换文件的方式来达到去除水印效果。在完成这项工作前,我们需要找到所有的原图放在同一个文件夹中。通过遍历原图和目标文章目录的图片进行比较,若发现相似则覆盖。在网上找了一个PHP写的类,略加修改,代码如下: <?php /** * Image similarity comp...
Chrome插件在高版本浏览器中安装报错解决
tes). See developer.chrome.com/extensions/manifestVersion.html for details. 上面的错误系插件版本过低,在高版本Chrome中需要在manifest文件中添加 manifest_version 配置项。 按照上面的提示在清单文件中增加了 "manifest_version": 2 配置项,又出现如下错误: "manifest_v...
前端技术之DIV或SPAN+CSS实现箭头效果
这样如果我们将元素的高度和宽度设置为0,边框厚度增大,并且只显示一条边框,是不是就是一个三角形呢,不过这个三角形是等边直角三角形。纵然是等边直角三角形,但也基本符合了大多数情况下的箭头的需求了。这里,需要注意的一个问题是浏览器的兼容。当今主流的新型浏览器都基本没有问题,但是仍然存在一部分用户使用的是IE6和IE7。为了兼容低版本的IE浏览器,所以在写CSS的时候要特别的设置字体大小为0和overflo...
2016上海PHPCON技术峰会
痛不痒的事情,于是产生了大量的工具和五花八门的解决方案。真正的技术难点大都是内核级别提供或者解决了的,有颠覆性的技术产品并不多,Nginx 颠覆 Apache 可以说是为数不多的一个了。真正的技术大牛需要充沛的体力,自由的时间,强大的原动力,扎实的操作系统知识和 C 语言编程功底,还必须有丰富的项目实战经验,缺一不可啊,也许只有这样的人才能做出跨界融合的颠覆性软件产品。所以没有自己的事业和业务需求很难...