- 締切済み
【PHP】ディレクトリ内のファイル数を高速で数えたい
レンタルサーバーのPHP5利用者です。 ディレクトリ内にhtmlファイルが3000件ほどあり、そのファイル数を数える方法を考えています。 現状、scandir() を利用していますが5秒ほどかかります。 scandir() はファイル名まで拾ってくるので時間がかかるのだと思いますが数だけでいいので高速で数えられないものでしょうか? できればデータベースではなくPHPだけの処理ならありがたいのですが。 お詳しい方、よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- みずの(@mizuno3)
- ベストアンサー率73% (192/263)
回答No.1
単純にファイルの数を調べるだけなら以下の方法はいかがでしょう? exec("ls -d /path/to/* | grep ^ -c", $count); htmlファイルなら exec("ls -d /path/to/* | grep html?$ -c", $count); とかでしょうか。
お礼
ありがとうございます。 $dnv = '/virtual/www/対象のディレクトリ名'; exec("ls -d $dnv/* | grep ^ -c", $ar); print $ar[0]; でやってみましたがあんまり変わりませんでした。 やり方が悪いんでしょうかね…