私は、膨大な量の写真(少なくとも10000ファイル)のフォルダを持っており、PHPを使用してこのファイルすべての名前を取得する必要があります。 問題は私が使用するときですscandir()
私はメモリ制限についてのエラーを受けました。 はまた、私はこのようなコードを使用してみました:PHP - ディレクトリから膨大な量のファイルを読み込みます
$files = [];
$dir = opendir($this->path);
$i = 0;
while(($file = readdir($dir)) !== false) {
$files[] = $file;
$i++;
if ($i == 100)
break;
}
このコードは正常に動作しますが、それは私が必要なものではありません。すべてのファイルを取得しようとすると、スクリプトがクラッシュします。
さらに、私は$dir
にポインタの状態を保存することを考えましたが、後でAJAX要求を使ってすべてのファイルを取得していましたが、その目的のための解決策は見つかりませんでした。
ファイルを読み込むための制限とオフセットの設定方法はありますか? ページングのような意味です。
あなたの質問は何ですか? –
http://php.net/manual/en/class.directoryiterator.php perhappsを見てください – Scuzzy
ここで本当の質問はありませんが、10000個のファイルを実行すると、いくらかのメモリが必要になります。いずれかのキャッシュを使用し、それらの間に間隔を置いて小さなバルクのファイルを通過するか、より良いサーバーを入手してください。 – Classified