Оптимизировать производительность вывода изображения - PullRequest
0 голосов
/ 26 января 2012

У меня есть php-файл, который проверяет, доступно ли изображение.Если это так, изображение будет возвращено пользователю, в противном случае оно будет создано и затем возвращено пользователю.

if(file_exists($filepath)) {
    $fp = fopen($filepath, 'rb'); # stream the image directly from the cachefile
    fpassthru($fp);
    exit;
} 

Я думаю, что для оптимизации этого я могу пропустить вызов file_exists и простопопробуйте «открыть» его, если возвращается «ложь», я создаю изображение, в противном случае я возвращаю его напрямую (это правильно?).

Что я хочу знать, так это самый быстрый способ загрузкиизображение в PHP?До этого я использовал imagepng($image), но читал, что fpassthru намного быстрее: http://www.php.net/manual/en/function.imagepng.php#103787

1 Ответ

1 голос
/ 26 января 2012

Самый быстрый способ - не обрабатывать изображение с помощью PHP.Используйте обратный прокси-сервер, который обслуживает существующие файлы, и для каждого несуществующего файла он называет скрипт PHP.

Далее удаление вызова file_exists () - это микрооптимизация;однако, если файл не существует, PHP вызовет предупреждение, запишите его в журнал, выведите его в зависимости от настроек ... что с точки зрения ЦП дороже, чем вызов file_exists.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...