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
があります
------解決策---------