LinuxでPHP 5.6を使用しています。私はファイル名の配列を加えた更新日時とサイズを取得するには、次のような何かを行うことができます知っている変更された日付とサイズのファイルの大きなリストを取得する実行方法
ディレクトリに$directory_listing = scandir($path);
をファイルとディレクトリのリストを取得しています。
$listings_final = array();
foreach ($directory_listing as $listing) {
$listings_final[]['listing_name'] = $listing;
$listings_final[]['listing_modified'] = filemtime($listing);
$listings_final[]['listing_size'] = filesize($listing);
}
ファイルの数が非常に多い場合、これは遅くなります。これをアーカイブするより効果的な方法がありますか?
おそらく、 'ls'でも一括してではなく、すべてのデータをエントリ(ファイル/ディレクトリ)ごとに反復して取得するためです。しかし、なぜその情報を取得しているのか、アプリケーションにどのように必要なのかによって、UIの速度を落とさない別の方法があるかもしれません。 –
@NickCoonsカスタマイズされたディレクトリリストとファイル表示システムを構築しています。 – Goose
あなたがしたいことは、元のディレクトリリストを取得し、それをユーザーに表示させるためにUIに送信してから、バックグラウンドでメタデータ(タイムスタンプやサイズなど)を非同期で入力することです。 –