- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPで2時間前に作成されたファイルを削除する方法)
PHPで2時間前に作成されたファイルを削除する方法
このQ&Aのポイント
- PHPでfiles/tmpディレクトリ内の2時間前に作成されたファイルを削除する方法について質問です。
- filemtime関数を使用してファイルの作成時間を取得し、現在時間との差分を計算して条件分岐していますが、正しい値が返されずすべてのファイルが削除されてしまいます。
- 原因がわかる方がいらっしゃいましたら、ご回答をお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
readdirは、opendirで指定したディレクトリ内の「ファイル名」だけが返ってきます。 ディレクトリ情報が入っていませんので、そのファイルにアクセスするためには、ディレクトリ名を付加する必要があります。ですので、 > $diff = ($currenttime - filemtime($file)); これは、unlink部と同様、 > $diff = ($currenttime - filemtime($dir.'/'.$file)); のようにする必要があります。
お礼
なるほど!!ありがとうございます。こんなミスするなんてね... 今後もっと注意します。