PHP がファイルを削除して再構築した後、ファイルの作成時間 (filectime) が変わらない問題を解決するにはどうすればよいですか? ?
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 はキャッシュのタイムアウト判定ロジックをより適切に完了できます。
書き換え後に filemtime が変更されるため、ファイルを削除する必要はありません。
ファイルを削除したのには理由があるはずですが、回答の下の「オフトピック」を参照してください
-
PHPでのファイルの削除と作成に関して
著者は次のコードを使用して実験を行いました
結果:
Windows (Windows 10 x64)
2回目に実行しても、戻り時間は確かに1回目と同じです。
しかし、このテキストが 2 秒間消えてから再び生成されるのがわかりました。これは、Windows ではそのようなロジックを持っている可能性があります (詳しくは調べていません)。図に示されているのは、2 回目の実行後に取得したファイル属性です。
Linux 上の CentOS
返却時間が変更になります
閑話休題
私が書いた、または見た一部のファイル キャッシュ エンジンでは、読み取りキャッシュ操作でタイムアウトが検出された場合でも、
キャッシュ ファイルは削除されません。
私はここで怠けているわけではありません、結局のところ、リンクを解除するのは簡単です
- 代わりに、必要な I/O リクエストが減り、
同時実行によって引き起こされるリンク解除のリスクが減ります (
理由を考えてください)しかも、このキャッシュにアクセスしている以上、慣性的に考えると間違いなく上書きされるので、削除後に再構築する意味はあまりありません
- 唯一の問題は、ディスク領域の占有です。たとえば、長期間アクセスされていない一部のキャッシュがまだ領域を占有している場合、通常はそれを許容するか、コードを独自に実装してスケジュールされたタスクを使用して削除するかを選択します。それ
- 賢くコンパイルされたファイルはあなたのシナリオに似ています、彼のアプローチは次のとおりです: 削除しないでください

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、
