非常に一般的な質問ですが、それでもこれに対する正しい解決策は見つかりませんでした。cronジョブを実行して、毎朝phpスクリプトを開始し、夜間にWebサーバーで作成されたすべての新しいファイルを一覧表示する必要があります。これは、訪問者が夜間にアップロードしたものを確認するのに非常に役立ちます。もちろん、これらのファイルは、他の訪問者のコンピューターに損害を与える有害なファイルである可能性があります。これまでのところ私はこれを持っています:
$dir = "../root/";
$pattern = '\.*$'; // check only file with these ext.
$newstamp = 0;
$newname = "";
if ($handle = opendir($dir)) {
while (false !== ($fname = readdir($handle))) {
// Eliminate current directory, parent directory
if (ereg('^\.{1,2}$',$fname)) continue;
// Eliminate other pages not in pattern
if (! ereg($pattern,$fname)) continue;
$timedat = filemtime("$dir/$fname");
if ($timedat > $newstamp) {
$newstamp = $timedat;
$newname = $fname;
}
}
}
closedir ($handle);
// $newstamp is the time for the latest file
// $newname is the name of the latest file
// print last mod.file - format date as you like
print $newname . " - " . date( "Y/m/d", $newstamp);
これにより、最新のファイルが1つのディレクトリroot /にのみ出力され、たとえばroot /folder/などはチェックされません。ルート/フォルダ内に新しいファイルを追加すると、スクリプトには日付のあるフォルダが表示されますが、ルート/フォルダ内のどのファイルが作成されたかは表示されません。意味を理解していただければ幸いです。ありがとうございます。