※ ChatGPTを利用し、要約された質問です(原文:ファイルが作成された日時)
ファイルの作成日時と削除プログラムについて
このQ&Aのポイント
ファイルの作成日時に基づいて一定時間で削除するプログラムを作成中です。
filemtime関数はファイルの更新日時を取得するため、作成日時を取得することはできません。
ファイルを作成したタイミングで更新日時を指定する方法も試しましたがうまくいきませんでした。
ファイルが作成されてからある一定時間で削除するプログラムを作っています。あまり厳密なものではなく、あるページにアクセスがあったタイミングで所定の時間を超えているファイルは削除するような仕組みです。
そんな関数あるのかと思って調べてみましたが、見つけられず代わりにfilemtime関数を見つけました。
ただ、filemtime関数は更新された日時みたいで、それぞれのファイルを見てみると
Warning: filemtime() : stat failed for ファイル名
というエラーが出てしまいます。
ファイルを作成したタイミングでその時間に更新してやればよいかと思い、
touch($filename, date("U"));
としてみましたが、同様でした。
ちなみにファイルの作成は、ブラウザでファイルアップロードして作成します。
よい解決方法がありましたらご教授ください。
よろしくお願いいたします。
お礼
ありがとうございます! まさにfilectimeが欲しかった!・・・んですが、やはり同様のエラーが。。。 これはプログラムじゃなく別な問題かもしれないですねー
補足
できました! ふと思いついて、 画像へのパスを変えたらできました。 if ($handle = opendir('./temp/')) { while (false !== ($filename = readdir($handle))) { if ($filename != "." && $filename != "..") { echo $filename." "; echo filectime("temp/".$filename)."<br />\n"; } } closedir($handle); } 読み込むファイルはtempディレクトリ以下だったのですが、 echo $filename で正常にファイル名がとれていたので echo filectime($filename); でもいけるんじゃないかと誤解していました。 本当に助かりました!ありがとうございました。