ホームページ  >  記事  >  バックエンド開発  >  PHP が最初にファイルを削除してから再作成するときに、ファイルの作成日が更新されないことに関連する問題

PHP が最初にファイルを削除してから再作成するときに、ファイルの作成日が更新されないことに関連する問題

WBOY
WBOYオリジナル
2016-06-13 13:40:221058ブラウズ

PHP がファイルを最初に削除し、その後再作成するときにファイルの作成日が更新されない問題
コードは次のとおりです:

PHP コード
<!--

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() が一度も行われていないかのように、常に最初に作成された時間になります。

困惑しています~

混乱を解消するために誰か助けてください~

追記: 私のオペレーティングシステムは win7 です

- -----解決策----------------------
上記の人々はそれを当然のことだと考えていました

事実は、少なくともウィンドウ システムにおいては、元の投稿者が観察したことと確かに同じです

しかし、これは php とは何の関係もありません。ファイルシステムへの
ファイル削除時にディレクトリエントリがクリアされず(削除マークのみが付いていた)、再作成時に元のディレクトリエントリが使用されたと推定されます
と考えられます「ファイル作成時間」はディレクトリエントリの作成時間である必要があります

phpには時間を取得する関数filectime

があります
------解決策---------
話し合う

上記のことは理にかなっていますが、Linux での状況を知っている人はいますか?
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。