Комментарии 14
Интересно насколько отличается по скорости проверка существования файла через file_exists и %{SCRIPT_FILENAME} !-f
Если Вы о file_exists который в php то тут и сравнивать не нужно.
Проверка на уровне веб сервера и проверка с запуском php. Вроде как само должно говорить за себя.
Проверка на уровне веб сервера и проверка с запуском php. Вроде как само должно говорить за себя.
Я имею ввиду выполнение самой функции, не учитывая запуск php
Я думаю, это больше зависит от скорости файловой системы (размера кеша и т.д.). Просто по-моему в этом решении экономия по скорости не настолько ощутима, что бы применять эти непонятные файлы конфигов и настройки сервера. Почему бы не создавать миниатюры на этапе обработки шаблона?
Что позволит вам «не учитывать запуск php»? На это реально уйдет на порядок или два больше времени, чем на саму проверку.
Ну так страницу же php и создает. он в любом случае запускается. Может вы просто не совсем поняли мою мысль. Я хотел бы понять насколько будет дольше работать иной алгоритм и есть ли смысл вообще делать так как автор.
То что я имел ввиду:
В шаблоне пишем {{ image|thumb(«200x200», { «watermark»: «right bottom», «grayscale»: true }) }} (это пример из статьи)
На основе этих параметров обработчик создает хеш (можно приплюсовать timestamp для гарантированной уникальности). Получается имя файла превью. Если этого файла не существует (вот тут проверка file_exists), он создается. При следующем выводе этого файла ничего создаваться не будет, а просто подставится хеш в src. Клиент же получает ссылку на уже готовый созданный файл и пропадает необходимость в доп настройках сервера.
Конечно, загрузка сайта будет медленнее при появлении новых картинок, но только один раз и только у того пользователя кто первым загружает страницу с новыми картинками. А на сайтах где картинки добавляются массово и нагрузки огромные, ни мой, ни автора вариант не прокатит. Там либо превью создается еще на этапе загрузки картинки, либо php вообще не участвует в этом.
То что я имел ввиду:
В шаблоне пишем {{ image|thumb(«200x200», { «watermark»: «right bottom», «grayscale»: true }) }} (это пример из статьи)
На основе этих параметров обработчик создает хеш (можно приплюсовать timestamp для гарантированной уникальности). Получается имя файла превью. Если этого файла не существует (вот тут проверка file_exists), он создается. При следующем выводе этого файла ничего создаваться не будет, а просто подставится хеш в src. Клиент же получает ссылку на уже готовый созданный файл и пропадает необходимость в доп настройках сервера.
Конечно, загрузка сайта будет медленнее при появлении новых картинок, но только один раз и только у того пользователя кто первым загружает страницу с новыми картинками. А на сайтах где картинки добавляются массово и нагрузки огромные, ни мой, ни автора вариант не прокатит. Там либо превью создается еще на этапе загрузки картинки, либо php вообще не участвует в этом.
/static/d1/7e/d17e248758722c42d8c88d21d8b538d7.jpg
Не маловато ли будет 2х уровневой структуры? У меня /d/1/7/d17e248758722c42d8c88d21d8b538d7.jpg и некоторые папки имеют больше сотен файлов. Хотя тут конечно от проекта зависит.
Прошу прощение за глупый вопрос, ибо темень я деревенская.
В коде на гитхабе есть запись
И собственно вопрос
что это за запись. Ведь php 5.3.25 выдает ошибку
Parse error: syntax error, unexpected '[' in
В коде на гитхабе есть запись
function thumb($image, $size, $options = [])
И собственно вопрос
$options = []
что это за запись. Ведь php 5.3.25 выдает ошибку
Parse error: syntax error, unexpected '[' in
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Простое решение для обработки изображений на лету с кешированием результата