PHP常用设计模式

设计模式一书将设计模式引入软件社区,该书的作者是 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides Design(俗称 “四人帮”)。所介绍的设计模式背后的核心概念非常简单。经过多年的软件开发实践,Gamma 等人发现了某些具有固定设计的模式,就像建筑师设计房子和建筑物一样,可以为浴室的位置或厨房的构造方式开发模板。使用这些模板或者说设计模式意味着可以更快地设计更好的建筑物。同样的概念也适用于软件。

阅读更多

PHP多进程写入文件

当多个进程需要对文件进行操作时,为了避免其中出现的种种问题,可对文件进行一个列队的方式处理,当处理完一个进程后,第二个进程继续……

用到的系统函数有:file_exists(),usleep(),file_put_contents(),fopen(),fwrite(),fclose(),unlink()。

file_exists() 检查文件或目录是否存在

阅读更多

PHP获取目录以及文件

用到的系统函数有:opendir(),readdir(),closedir()。

opendir():

resource opendir ( string $path [, resource $context ] )
//path 要打开的目录路径 
//context context 参数的说明见手册中的 Streams API 一章。 

打开一个目录句柄,可用于之后的 closedir(),readdir() 和 rewinddir() 调用中。

阅读更多

PHP计算页面执行时间函数

很多时候想要知道脚本效率时间,这时候就需要知道脚本的运行时间,然后去优化它。可能有些人看到了Discuz页面底部也会有一个“Processed in 0.030282 second(s)…”这样的提示,对,这就是脚本执行时间。

如何计算一段php程序代码的执行消耗时间?

对于系统时间,可能很多programmer对php的time()函数并不陌生,可惜time()函数只返回,自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。
没错,是秒.我们一段php程序代码执行耗时可能并不超过一秒,所以time()并不适用。

阅读更多

PHP连接MySQL数据库的常用方式

平时写好的类库以及各种框架自带的MYSQL类都已经封装,只需要修改配置文件即可进行数据操作流程,可是平时当有人问起的时候,突然忘了,其实并不难,只是很少用,突然的一下子想不起来了,在这里整理出3种常用的PHP连接数据库的方式。

@先声明连接信息的变量

阅读更多

IE9中X-UA-Compatible失效的问题与值: 对象为 null 或未定义

好端端的W3C标准页面被硬生生渲染成IE5,惨不忍睹。而在F12工具中强制调成IE9标准渲染模式,全部正常。于是研究了一下问题在哪。

关于X-UA-Compatible和IE的Quirks Mode模式,Google一下有很多说明,这里有三篇很详细的文章:
[1] http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx
[2] http://www.fantxi.com/blog/archives/browser-mode/

由于手上的一个项目,用到ExtJS,而版本也是3.0的,后发现在IE9中,ExtJS里的tree控件不能点击了,发现ExtJS3.0不支持IE9的,只有想其他办法,第一想法就是让IE9默认采用IE8的兼容模式运行。

将以下代码放于里面,最好是放在离最近的一个元素。

阅读更多

正则表达式 \w \s \d \b

. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字 等价于 ‘[^A-Za-z0-9_]’。
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

阅读更多

php curl正则采集

Apache的httpd.conf配置:

LoadModule php5_module "../php/php5apache2_2.dll"
PHPIniDir "../php/"
AddType application/x-httpd-php .php
LoadFile "../php/libeay32.dll"
LoadFile "../php/ssleay32.dll"

用于采集是一个不错的方法,以下资料来源于网上整理:
PHP中的CURL函数库(Client URL Library Function)

curl_close – 关闭一个curl会话

curl_copy_handle – 拷贝一个curl连接资源的所有内容和参数

curl_errno – 返回一个包含当前会话错误信息的数字编号

阅读更多