今天凌晨,php.net上发布了这个消息:PHP 5.3.0RC2 Release Announcement,消息说,5.3 RC2主要集中精力于提升稳定性和bug的改进,并无太多新的特性出来,并且希望能在2-3周后发布 RC3时,需要做最小的改动即可。PHP官方也建议说,现在是测试PHP5.3,并为将来升级到PHP5.3的好时机,因为在RC2、RC3之后不久,将会有正式版本出来。
又一个新的东西,看来需要准备点时间来测试PHP5.3和MySQL5.4了,否则就又成了说空话了。
Archive for the ‘PHP’ Category
PHP里部分文件状态操作是会缓存的,如果忽略了这些信息,可能会导致程序里出错。如我在生成多级目录时如 "b5/b5/cd.."类似的目录结构时,使用is_dir, is_dir会缓存第一次“d5”为目录的信息,从而在第二步判断时直接返回true,导致二级d5目录未能正常生成 。话不多讲,看PHP里的clearstatchar()方法:
clearstatcache
(PHP 4, PHP 5)
clearstatcache — 清除文件状态缓存
说明
void clearstatcache ( void )
当使用 stat(),lstat() 或者任何列在受影响函数表(见下面)中的函数时,PHP 将缓存这些函数的返回信息以提供更快的性能。然而在某些情况下,你可能想清除被缓存的信息。例如如果在一个脚本中多次检查同一个文件,而该文件在此脚本执行期间有被删除或修改的危险时,你需要清除文件状态缓存。这种情况下,可以用 clearstatcache() 函数来清除被 PHP 缓存的该文件信息。
必须注意的是,对于不存在的文件,PHP 并不会缓存其信息。所以如果调用 file_exists() 来检查不存在的文件,在该文件没有被创建之前,它都会返回 FALSE。如果该文件被创建了,就算以后被删除,它都会返回 TRUE
Note: 本函数缓存特定文件名的信息,因此只在对同一个文件名进行多次操作并且需要该文件信息不被缓存时才需要调用 clearstatcache()。
受影响的函数包括 stat(),lstat(),file_exists(),is_writable(),is_readable(),is_executable(),is_file(),is_dir(),is_link(),filectime(),fileatime(),filemtime(),fileinode(),filegroup(),fileowner(),filesize(),filetype() 和 fileperms()。
转载自:http://wells.osall.com/blog/index.php?uid=1&m=content&p=291
在开发Sylvan的过程中,使用到了 preg_replace_callback() 函数。但是在类中使用这个函数呼叫类中的函数来处理字符串时,却发生了找不到回调函数的错误报告:preg_replace_callback() requires argument 2, [...],to be a valid callback。到底是什么原因呢?
在PHP手册上,是这样描述preg_replace_callback()函数的:
preg_replace_callback
(PHP 4 >= 4.0.5, PHP 5)
preg_replace_callback – 用回调函数执行正则表达式的搜索和替换
说明
mixed preg_replace_callback ( mixed pattern, callback callback, mixed subject [, int limit] )
本函数的行为几乎和 preg_replace() 一样,除了不是提供一个 replacement 参数,而是指定一个 callback 函数。该函数将以目标字符串中的匹配数组作为输入参数,并返回用于替换的字符串。
所以,我们可以这样使用这个函数:
PHP代码:
<?php
// 此文本是用于 2002 年的,
// [...]
好几位朋友说了好几次,一直没有时间来弄。今天抽几小时搞定。不过并没有做大量的测试,所以请各位转换之后,把效果反馈一下。谢谢。
使用说明,请务必阅读:
将Sablog-X(1.6)的数据导入 WordPress(2.3.2)数据库
此文件运行的前提条件:
1、本程序需要放在wordpress目录wp-admin下
1、sablog-x数据库和wordpress数据库最好放在同一台MySQL服务器上
2、wordpress的表已经建好,并且没有有用的数据(防止您的有用数据被误操作删除)
按要求放置好程序并做好准备以后,请在浏览器里运行 :http://yourblogurl/wp-admin/sablogx1.6towp2.3.2.php
如果您的文章数比较多,请耐心等待,直到页面出现 "Finish!" 字样,即为转换成功。
此外:本程序只会对文章、分类、友情链接和评论进行转换,但不会转换用户,所以请另行添加用户数据
Author: Kedy (http://www.kedy.cn QQ:49268533 YanChenguang_#_gmail.com)
Date : 2008-01-14
下载地址:[attach=18]
PHP效率优化
http://www.javaeye.com/topic/69100
使用 Ming 库动态构建 Flash 动画
[...]
Filed under: PHP
Social Tagging: interview • PHP • programmer • yahoo
呵呵,翻译了篇东西,N长时间没用英语了,出了丑大家可一定要指出来啊。翻译自:Nick Halstead’s Blog
A friend recently got some pre-interview questions from YAHOO for a PHP job. Following up my previous post about programmer questions I thought I would post them to give people examples of what a large corporation like YAHOO asks.
最近一位朋友得到了Yahoo的一些PHP面试题目,依照我之前发表关于程序员的相关文章的原则,我想我应该在这里发布出来,以给读者朋友们提供一些例子,让大家看看像YAHOO这样的大公司关心哪些问题。
1. Which of the following will not add john to the users array?
1、下面哪个选项没有将 john [...]
[13-Jul-2007] php.net
Today it is exactly three years ago since PHP 5 has been released. In those three years it has seen many improvements over PHP 4. PHP 5 is fast, stable & production-ready and as PHP 6 is on the way, PHP 4 will be discontinued.
The PHP development team [...]
网上这种帖子已经很多了,在这里我只是整理了一下网上的两个比较经典的帖子,加上自己的实践,在这里给出一个更简单的版本来。同时我这些文字不是写如何使用C语言,我不会写具体的步骤,这些在本文的附件里会有,要写的是两种方式的区别。
1、生成PHP扩展模块有两种办法:ext_skel/源代码编译 和 phpize。
2、用源码方式生成,与源代码版本等结合比较紧密,但不利于将此so移植到其他系统上。而用phpize则可以比较方便的应用。
PS:看了下,其实源码方式也可以将so移植,只是需要在重新编译php源代码时加上–with-your_modules=shared,这样就会生成so文件。然后就可以使用extenstion=yourmodule.so扩展。 下面是网上两种方法的比较经典的文章:
源码方式扩展
phpize方式扩展
[code]<?php
ob_start();
if(function_exists(session_cache_limiter)) { session_cache_limiter("private, must-revalidate"); //主要是{ session_cache_limiter("private, must-revalidate")这一句
}
session_start()
?>[/code]

RSS
Sina微博
twitter