>  기사  >  백엔드 개발  >  php先删除再重新创建某文件时文件的创建日期不更新的有关问题

php先删除再重新创建某文件时文件的创建日期不更新的有关问题

WBOY
WBOY원래의
2016-06-13 13:40:221013검색

php先删除再重新创建某文件时文件的创建日期不更新的问题
代码如下:

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
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


------解决方案--------------------
探讨

楼上说的有道理,有谁知道linux下是什么情况么?
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.