- 締切済み
ファイル自動削除
あるフォルダ内に データをテキストで出力を行っています。 このフォルダに作成されたテキストのうち、5日前に作成されたものを自動削除させたいと思っています。 どのような方法・スクリプトにすればよいのでしょうか? 良い手法をご存知でしたら、教えてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- taketan_mydns_jp
- ベストアンサー率58% (450/773)
検証してません。 ディレクトリ内のファイルを取得して、5日前のものを削除 YOUR_DIRを保存フォルダとして <?php $now = time();//現在のUNIXタイム $d = dir(YOUR_DIR); while (false !== ($entry = $d->read())) { $time = filemtime(YOUR_DIR.$entry);//最終更新時刻取得 if(($now - $time ) > 60*60*24*5){ unlink(YOUR_DIR.$entry); echo YOUR_DIR.$entry."を削除しました\n<br />"; } } $d->close(); ?> こんな感じでしょうか。
- galluda
- ベストアンサー率35% (440/1242)
がると申します。大雑把に二種類ほど。 PHP「だけ」でやる場合 statという関数で、ファイル日付周りが取得できます。 http://www.php.net/manual/ja/function.stat.php これを使えば「5日より前かどうか」が判明します。 シェルでやる場合 findというコマンドが使えます。バックスラッシュとかで起動可能かと。 findの、-mtimeオプション使うと、n日前という指定が可能です。 http://homepage2.nifty.com/cs/linux_command/command/find.html http://www.linux.or.jp/JM/html/GNU_findutils/man1/find.1.html