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

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

WBOY
WBOYOriginal
2016-06-13 13:40:221053browse

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下是什么情况么?
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn