PHP가 있어야합니다. foto를 내 페이지로 가져와야하며 1000, 2000 또는 3000 개 이상의 사진이 들어있는 폴더에서 가져와야합니다.PHP 글로브 파일 수 제한이 없습니다.
방대한 양의 파일 때문에 브라우저가 즉시 중단되지 않도록하려면 어떻게해야합니까? 내 사이트의 페이지 당 금액을 50으로 제한했지만 여전히 PHP가 배열에 1000 이상을 소요 한 다음 날짜별로 정렬합니다.
glob() 함수를 사용해 보았지만이 페이지 안에있는 파일의 양이 너무 많으면 작동하지 않습니다.
전체 폴더를 날짜별로 정렬 한 다음 파일 50 ~ 100 또는 파일 200 ~ 250 등의 제한된 NR을 취하는 더 좋은 방법이 있습니까?
$files1 = glob('../fotos/*.JPG');
$files2 = glob('../fotos/*.jpg');
$files = array_merge($files1, $files2);
usort($files, function($b,$a){
return filemtime($a) - filemtime($b);
});
$filesPerPage = 50;
$page = $_GET['page']; //FOR INSTANCE: 1 OR 2 OR 5 ETC..
$filesMIN = ($page - 1) * $filesPerPage;
$filesMAX = $page * $filesPerPage;
$fileCount = 0;
foreach($files as $file) {
$fileCount++;
if($fileCount > $filesMIN && $fileCount <= $filesMAX) {
echo '<img src="$file" />';
}
}
그래서, 이것은 내 코드 샘플입니다. 이제이 폴더에서 1000 개가 넘는 파일 (이와 비슷한 것)을 사용하면 브라우저가 다운되거나로드 시간이 길어집니다. 어떻게 개선 할 수 있습니까?
'.jpg'과'.JPG' 파일을 검색 할 때'glob()'를 한 번만 호출하면됩니다 : glob ('../fotos/ *. [jJ] [pP] [ gG] ');' – Cyclonecode
Oke thx : D, 솔루션을 알고 계시나요? – Mart
이 경우 glob 대신에'readdir()'을 사용하려고 할 수 있다고 생각합니다. http://php.net/manual/en/function.readdir.php – Cyclonecode