PHP的rename 和Linux的mv

今天在写生成静态文件的脚本时,本来要写两个脚本:1、生成静态文件的PHP脚本;2、把静态文件移动到可访问目录下的脚本。中间还得使用文件加锁等操作。

为什么要这么麻烦呢?不是可以直接将静态文件生成在可访问目录一下吗?因为当服务器I/O读写压力过大时,wirte可能延迟,这时静态文件的内容有可能是不完整的。因此最好的做法是保证要生成静态文件的完整性,然后将静态文件移动到访问目录。

 

关于第二步的操作,原来是使用Linux的MV命令来做的,mv将文件移动的同时可进行重命名,并且具有覆盖功能。不过感觉写两个脚本麻烦。所以使用PHP的函数rename(),rename的功能和mv差不多,而且php4.3.3版本以后支持跨目录移动文件,或某个目录。

 

这样的话,就可以少写一个文件了

你可能感兴趣的:(linux,PHP,脚本)