phpはtest.htmlという名前のファイルを作成し、filectimeを使用して作成時刻t1を取得します
phpはtest.htmlという名前のファイルを削除します
phpはtest.htmlという名前のファイルを再作成し、filectimeを使用して作成時刻t2を取得します
なぜ t1 = t2 なのでしょうか? ? 作成時間が更新されないのはなぜですか? ? ファイルステータスキャッシュをクリアするためにclearstatcache関数を使用しましたが、機能しませんでした。この問題を解決するにはどうすればよいですか? ? (キャッシュファイルを再生成するかどうかを判断する際に、キャッシュファイルの作成時間を知ることが重要なので、解決してください~)
以下は、この状況で発生する問題のコードです(少し濃いのでお願いします)辛抱強く読んでください) ):
phpはtest.htmlという名前のファイルを作成し、filectimeを使用して作成時刻t1を取得します
phpはtest.htmlという名前のファイルを削除します
phpはtest.htmlという名前のファイルを再作成し、filectimeを使用して作成時刻t2を取得します
なぜ t1 = t2 なのでしょうか? ? 作成時間が更新されないのはなぜですか? ? ファイルステータスキャッシュをクリアするためにclearstatcache関数を使用しましたが、機能しませんでした。この問題を解決するにはどうすればよいですか? ? (キャッシュファイルを再生成するかどうかを判断する際に、キャッシュファイルの作成時間を知ることが重要なので、解決してください~)
以下は、この状況で発生する問題のコードです(少し濃いのでお願いします)辛抱強く読んでください) ):
filemtime はキャッシュのタイムアウト判定ロジックをより適切に完了できます。
ファイルを削除したのには理由があるはずですが、回答の下の「オフトピック」を参照してください
PHPでのファイルの削除と作成に関して
Windows (Windows 10 x64)
Linux 上の CentOS
返却時間が変更になります
私が書いた、または見た一部のファイル キャッシュ エンジンでは、読み取りキャッシュ操作でタイムアウトが検出された場合でも、
キャッシュ ファイル私はここで怠けているわけではありません、結局のところ、リンクを解除するのは簡単です
- 代わりに、必要な I/O リクエストが減り、
同時実行によって引き起こされるリンク解除のリスクが減ります (
理由を考えてください)しかも、このキャッシュにアクセスしている以上、慣性的に考えると間違いなく上書きされるので、削除後に再構築する意味はあまりありません
- 唯一の問題は、ディスク領域の占有です。たとえば、長期間アクセスされていない一部のキャッシュがまだ領域を占有している場合、通常はそれを許容するか、コードを独自に実装してスケジュールされたタスクを使用して削除するかを選択します。それ
- 賢くコンパイルされたファイルはあなたのシナリオに似ています、彼のアプローチは次のとおりです: 削除しないでください