Я предполагаю, что проблема isImage
.Я никогда не видел это раньше.Почему бы просто не проверить наличие определенных расширений файлов?Это довольно быстро.
Обновление: Вы также можете попробовать перейти на использование exif_imagetype()
, которое, вероятно, быстрее, чем getimagesize()
Помещение этой проверки в верхнюю функцию также будет быстрее.Ни одна из этих функций не должна была выполняться через веб-соединение - избегайте этого вообще.Лучше всего придерживаться расширения файла.
У вас еще нет прямого доступа к файлам?Каждый раз, когда вы что-то просматриваете в Интернете, это займет некоторое время - вам нужно ждать загрузки всего файла.Посмотрите файлы прямо в вашей системе.
Используйте scandir
, чтобы сразу получить все имена файлов в массив и просмотреть их.Это, скорее всего, ускорит процесс, так как я предполагаю, что не будет туда-сюда, чтобы получить вещи по отдельности.
Вместо того, чтобы делать strcmp
для .
и ..
, просто делайте $file != '.' && $file != '..'
Кроме того, скорость будет зависеть от количества возвращаемых файлов, если их много, то будет медленным.Операционная система также может замедляться, если в каталоге слишком много файлов.Вы перебираете все файлы и каталоги, а не только изображения, так что это число, которое учитывается, а не только изображения.