アプリ版:「スタンプのみでお礼する」機能のリリースについて

特定のディレクトリのファイル一覧を取得したいのですが、必要なのは最終更新日時でソートし、最新の30件のファイル名です。(ディレクトリのファイル件数は30件以上とは限りません)

exec()を使った外部コマンドでは最新の1件のファイル名は取得できたのですが、30件となると方法がわかりません。

今考え付くのは、
dir()コマンドで取得したファイル名から最終更新日時を取得し、ソートして30件取り出す
という方法です。

他にもっとスマートな方法で最新30件のファイル名を取得する方法はないでしょうか?

よろしくお願いします。

A 回答 (1件)

$dir = opendir('.');


$i=0;
while(($dt = readdir()) !== FALSE){
if(($dt!='.')&&($dt!='..')&&($dt!='index.php')&&((ereg("jpg",$dt))||(ereg("gif",$dt)))){
settype($dfile_size,"double");
$dfile_size = round(filesize("$dt")/1000,1);
if($dfile_size == 0) $dfile_size = 0.1;
$file_size = sprintf("%01.1f",$dfile_size)."KB";
$time = filemtime("$dt");
$rcd = ereg_replace(".jpg", "", $dt);
$p_data[$i]="$time,<a href=$dt>$rcd</a>";
$i++;
}
}
closedir($dir);
$j=1;
rsort($p_data);
foreach ($p_data as $tmp) {
$p_title = split("\,",$tmp);
print "$j/$i<br>$p_title[1]<hr>\n";
$j++;
}
解析&カスタマイズして使用して下さい。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
更新日時でソートしてファイル名を取得するというのは無理みたいですね・・・。

コーディングは参考にさせていただきたいと思います。ありがとうございました。

お礼日時:2006/03/22 18:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!