• 締切済み

ファイル自動削除

あるフォルダ内に データをテキストで出力を行っています。 このフォルダに作成されたテキストのうち、5日前に作成されたものを自動削除させたいと思っています。 どのような方法・スクリプトにすればよいのでしょうか? 良い手法をご存知でしたら、教えてください。

みんなの回答

回答No.2

検証してません。 ディレクトリ内のファイルを取得して、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(); ?> こんな感じでしょうか。

参考URL:
http://taketan.mydns.jp/xoops/modules/bwiki/?PHP
  • galluda
  • ベストアンサー率35% (440/1242)
回答No.1

がると申します。大雑把に二種類ほど。 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

関連するQ&A