[PHP-users 5853] Re: ファイルの削除

GT php-users@php.gr.jp
Mon, 04 Mar 2002 15:30:09 +0900


GTと申します。

いつもお世話になっております。

> On Mon, 04 Mar 2002 13:24:00 +0900
> GT <perl@getpresent.com> wrote:
>> 私は下記のように試してはいたのですが「fileatime($file)」及び
>> 「filemtime($file)」では時刻を取得できないファイルがあります。
>> 
>> $dir = opendir("./data/");
>> while($file = readdir($dir)){
>> if(!eregi(".html$", $file) && 7200 < (time()-filemtime($file))){
>> unlink( $file );
>> }
>> }
> 
> # closedir( $dir ); は、単にコピーし忘れただけですよね(^_^;?

これは完全に忘れてました^^;;

> readdir()でどのような文字列が返ってくるかは把握されていますか?

指定したdir内のファイル名を返すんですよね?

> 一度、
> 
> $dir = opendir("./data/");
> while($file = readdir($dir)){
> print "[$file]\n";
> }
> closedir( $dir );
> 
> としてどのように表示されるかを確認されれば、おそらく原因が
> わかるのではないか、と思います。

すいません。それがわからないのです。
帰ってきたファイル名を「filemtime($file);」とすると
そのファイル毎の最終更新時刻が取得できるのではないのでしょうか?
ところが最終更新時刻が帰ってくるファイルと帰ってこないファイルがあるのです。
同じdir内なのに a.html は12345678 と帰ってくるのに b.jpg は空です。
どこに問題があるのか私にはわかりません。

>> ですので現在はperlにてコードを書き、「`./delete.pl`;」としているのですが
>> できればすべてphpで書きたいので既に使っている方がいらっしゃいましたら
>> 教えていただきたいと思いまして質問させていただきました。
> 
> はじめからそのように質問された方が良いかと・・・。
> はじめの質問メールからそのような事情が読み取れる人は居ないと
> 思います。

すいませんでした。
上手く動作していないコードを公表するのに抵抗がありまして...^^;
なにこれって思われそうで...