[PHP-users 5847] Re: ファイルの削除
GT
php-users@php.gr.jp
Mon, 04 Mar 2002 13:24:00 +0900
GTと申します。
いつもお世話になっております。
お返事遅くなりましてすいません。
色々とありがとうございます。
> Perlでのforeach、あるディレクトリ内にあるファイル一覧取得方法、
> -M、正規表現、ファイル削除について、PHPではどのように書くのかを
> 調べれば難しいことではないと思いますが。
> 日本語マニュアル
> http://www.php.net/manual/ja/manual.php
> ここの、
> 11章 制御構造 ←foreach
> XXIV ディレクトリ関数 ←ディレクトリ内のファイル一覧取得
> XXX ファイルシステム関数 ← -Mとファイル削除
> LXXXV Perl互換の正規表現関数
> LXXXVII 正規表現(regex)関数
> とか。
> それとも、自分で調べるのは嫌だから誰か代わりにやってくれ、と
> 言うことなのでしょうか???
いえいえ、調べるのが嫌というわけではないのですが、
この様な単純なコードでしたらすでにどなたかが使用しているのではないかと思いま
してお聞きさせていただきました。
私は下記のように試してはいたのですが「fileatime($file)」及び
「filemtime($file)」では時刻を取得できないファイルがあります。
$dir = opendir("./data/");
while($file = readdir($dir)){
if(!eregi(".html$", $file) && 7200 < (time()-filemtime($file))){
unlink( $file );
}
}
ですので現在はperlにてコードを書き、「`./delete.pl`;」としているのですが
できればすべてphpで書きたいので既に使っている方がいらっしゃいましたら
教えていただきたいと思いまして質問させていただきました。
----------------------------------------------------------------------
> $d = dir( $directory_name );
> while ( $f = $d->read() ) {
> if ( ! is_dir( $f ) ) {
> if ( substr( $f, strrpos($f, "."), strlen($f) ) != ".html" ) {
> if ( ( time() - fileatime($f) ) > 86400 ) {
> unlink( $file );
> }
> }
> }
> }
> $d->close();
----------------------------------------------------------------------
> <?php
> echo "<xmp>";
> system("/usr/bin/find ./hoge -atime +1 -exec rm -f {} \; 2>&1");
> echo "</xmp>";
> ?>
----------------------------------------------------------------------