PHP
文章平均质量分 52
xishizhaohua
这个作者很懒,什么都没留下…
展开
-
时间连续处理函数(PHP)
前几天看他人项目代码,有一功能为统计最近1月某功能的使用总量,代码实现竟然不做时间连续处理,出现下面情形。[img]http://dl.iteye.com/upload/attachment/0078/6593/edb00a70-f44e-32f0-9ea7-3b16b5d0f862.jpg[/img]N星期前,也曾看到部分代码,时间连续处理竟然是以一天为时间间隔查询数据库,最近1...原创 2012-12-31 15:07:31 · 119 阅读 · 0 评论 -
PHP RSA加解密示例
[size=medium][b]1.生成密钥和公钥[/b][/size]开始前需要准备openssl环境linux 需要安装openssl工具包,传送门[url]http://www.openssl.org/source/[/url]window 下需要安装openssl的程序,传送门[url]http://slproweb.com/products/Win32OpenSSL.html...原创 2014-11-29 11:13:46 · 214 阅读 · 0 评论 -
服务器端PHP生成curl命令行
记录请求到log,为了方便后续排查问题,在PHP里调用一个方法,实现将curl串记录下来即可方便复现请求。[code="java"]原创 2015-11-03 09:53:47 · 231 阅读 · 0 评论 -
减少if...else...的表驱动
先从一个常见的问题入手,在页面中显示今天的星期,如果还用下面的方式,那就需要好好看看本文章了[code="java"]$result = '';switch (date('w')){ case 0: $result ='星期日';break; case 1: $result ='星期一';break; case 2: ...原创 2015-05-13 19:52:46 · 296 阅读 · 0 评论 -
深入PHP-直观观察array的扩展
皆知PHP的数组是由HashTable和双链表实现的,为了方便大家查看数组的数据结构,开发一个遍历PHP的数组生成Dot描述的PHP插件,生成dot描述以后可以通过一些渲染工具生成图像,本例用的是 Graphviz。 扩展的实现很简单,PHP数组源码是由下面的两种结构体实现的,扩展就是将这两种结构体和各个结构体的关系遍历一遍,生成对应的Dot描述即可。[cod...原创 2015-04-02 17:25:42 · 107 阅读 · 0 评论 -
PHP中的Iterator、ArrayAccess、Countable接口
使用接口(interface),可以指定某个类必须实现(可空实现)一簇方法,实现关键字为 implements, 类可以实现多个接口,用逗号来分隔多个接口的名称。按理说interface是PHP开发中依赖倒置原则的重要力量,但是PHP弱类型特性使其地位非常尴尬,除非为了多继承,在项目中还真没有它来干过啥。PHP提供的多个接口主要是让对象试用数组的操作方式,在此主要介绍一下Iterator...原创 2014-08-31 11:42:29 · 201 阅读 · 0 评论 -
PHP简单的手机验证码验证过程
做过一个需求:广告主后台发起调查活动,普通用户参加此调查后跳转值某个网址领取1Q点(1角钱);上线一段时间以后,广告主反馈得到的很多手机号都是伪造的(我们开始只用正则匹配判断手机号正确与否),然后产品让我们加上手机短信验证,就变成了下面的样子.[img]http://dl2.iteye.com/upload/attachment/0100/6987/162fb4b8-3ff5-3f5d-b...原创 2014-08-30 15:59:49 · 348 阅读 · 0 评论 -
PHP uniqid函数执行缓慢的问题
前段时间某个需求:客户提交简单的表单可以创建一个适应于全终端(PC,Pad,Phone)的刮刮卡活动H5页面,其中涉及到客户可在线生成限额6W奖品码的功能。因为需要保持每个活动奖品码的唯一,我们先是准备用PHP的uniqid函数来生成UUID(Universally Unique IDentifier,也叫GUID,为全局唯一标识符,是一种由算法生成的唯一标识)来生成。但当我们用生...原创 2014-08-29 17:01:52 · 117 阅读 · 0 评论 -
PHP环境时区设置成Asia/Chongqing导致的一个bug
得到某个时间戳所对应的日期的0时在这边的数据统计中经常用到,如得到1409144737(2014/8/27 21:5:37)的0时1409068800(2014/8/27 0:0:0),可用的方法也比较多,在这里介绍常用的三种: 1.mktime函数方式 Java代码 $time =1409144737; var_dump(d...原创 2014-08-28 11:14:25 · 302 阅读 · 0 评论 -
PHP延迟静态绑定
最近项目中遇到这样一个case,感觉所有的Model类都须是单例性能更高.因为所有的model皆继承统一父类BaseModel,所以在BaseModel中添加控制单例的代码,简单演示如下:[code="java"]/*基类*/class BaseModel{ private static $instance = null; public static f...2015-01-10 12:19:49 · 91 阅读 · 0 评论 -
判断是POST/GET请求+判断是AJAX请求
1.判断是POST/GET请求这个大家都知道了,就是$_SERVER['REQUEST_METHOD']返回用户的请求方式; i.e. 'GET', 'HEAD', 'POST', 'PUT'.eg:[img]http://dl.iteye.com/upload/attachment/0074/8245/4f0b74e3-df78-3cfc-98e1-eed7e5e9e440.pn...原创 2012-10-10 18:35:45 · 357 阅读 · 0 评论 -
PHP编码的几个最佳实践
继续说说PHP的几个编码优化[b]1.用逗号连接echo字符串[/b][code="java"]$name='orange';$address='BeiJing';echo 'Hi,'.$name.'! Welcome to '.$address;//慢echo 'Hi,',$name,'! Welcome to ',$address;//快,建议方式[/code]原因...原创 2013-01-06 17:41:46 · 103 阅读 · 0 评论 -
UDP socket_read接收数据导致错误Resource temporarily unavailable
项目中经常用到PHP用UDP调用C++服务,我们这边的PHP 请求方法封装如下,一直没有问题出现,今天接入新的服务出现了问题 [code="java"] public static function request($reqBuffer,$host,$port) { $socket = socket_create(AF_INET, SOCK_DG...原创 2014-12-10 20:34:47 · 1374 阅读 · 0 评论