php先删除再重新创建某文件时文件的创建日期不更新的问题
代码如下:
PHP code
var_dump(unlink("update1.log")); //true
$handle=fopen("update1.log","w"); //创建文件
fwrite($handle,date("Y-m-d H:i:s"));
fclose($handle);
预期结果为update1.log的创建时间能变更为fopen()创建文件时的时间。
实际结果是:update1.log的创建时间一直是第一次创建时的时间,就仿佛没有unlink()过一样。
百思不得其解~
求各位大虾谁能帮忙解惑一下~
PS:我的操作系统是win7
------解决方案--------------------
楼上几位有点想当然了
事实的确与楼主观察到得一样,至少在 window 系统中是这样的
不过这与 php 没有关系,是文件系统的原因
估计是当删除文件时并未清除目录项(只做了删除标志),当再次创建时又使用了原先的目录项
可以认为“文件创建时间”应该是目录项的创建时间
php 有取得该时间的函数 filectime
------解决方案--------------------