Оригиналы Изображения хранятся в папке, и работа ведётся с ними, при добавлении новых картинок, стоит прогнать скрипт заново и перегегирировать все картинки.
При изменении требований к водяному знаку, так же можно внести коррективы в скрипт и прогнать. У нас на проекте в 10к картинок это занимает минуты 2.
Скрипт, выполняет задачу: добавить ко всем картинкам водяной знак, он ее выполняет. И требует минимальных временных затрат.
Да почитав комментарии, есть желание его улучшить, ускорить, добавить функций и вариантов.
А вообще в общем и целом — марки отлично накладываются при желании на лету в том же nginx. И хранить придется только оригиналы картинок
Вопрос нагрузки, у клиента на странице открывается сразу 40 фотографий. И если все 40 будут на лету обрабатываться и ещё и клиентов будет 100 как бы наш дешевый сервак не упал.
Интересное решение у Eureka выше, это при запросе создавать файл и уже потом его хранить. Так работает движок OpenCart с кэшированием картинок.
Кусок кода для расчета позиции знака ровно посередине
Для обхода директории, есть множество способов.
В следующем проекте, обязательно воспользуюсь этим.
А вот про SPL первый раз слышу… Я правильно понял что это: php.net/manual/ru/book.spl.php и как его можно применить?
У вас решение, для которого нужно обладать некоторыми знаниями.
Мы же старались создать решение для обычного или начинающего пользователя.
И как уже писали, скорее всего, в этом коде вы не учитываете что картинки будут разного размера, и watermark нужно менять.
Большое спасибо, это мы записали, но ещё не пофиксили. Как выход, это прописывать в ручную исходную и конечную папку. И как уже предлагали, разбивать все на функции для удобства.
А как вставить в вашу команду, вычисления размера куда вставлять ватермарк и изменении размера ватермарка в зависимости от картинки. В итоге, скорее всего, придется писать скрипт. А тут уж кто на что горазд.
За $scanned_directory = array_diff(scandir($directory), array('..', '.')); большое спасибо, в этом направлении я не думал…
Я обязательно воспользуюсь всеми советами, и усовершенствую данную версию.
Если есть ещё, прямо кусочки кода которые стоит заменить, сообщите.
Я не претендую на идеальный продукт, но нужно учиться и стремиться к совершенству.
Поделитесь .htaccess этот вариант гораздо интереснее.
Так как через месяц, при появлении новых картинок, пришлось запускать скрипт заново, а это уже излишки работы.
Информация
В рейтинге
Не участвует
Откуда
Вятские Поляны (Кировская обл.), Кировская обл., Россия
Да и это был первый комментарий, и ко второй версии мы это все добавим.
Оригиналы Изображения хранятся в папке, и работа ведётся с ними, при добавлении новых картинок, стоит прогнать скрипт заново и перегегирировать все картинки.
При изменении требований к водяному знаку, так же можно внести коррективы в скрипт и прогнать. У нас на проекте в 10к картинок это занимает минуты 2.
Скрипт, выполняет задачу: добавить ко всем картинкам водяной знак, он ее выполняет. И требует минимальных временных затрат.
Да почитав комментарии, есть желание его улучшить, ускорить, добавить функций и вариантов.
Большое спасибо, за развитие идеи.
Вопрос нагрузки, у клиента на странице открывается сразу 40 фотографий. И если все 40 будут на лету обрабатываться и ещё и клиентов будет 100 как бы наш дешевый сервак не упал.
Интересное решение у Eureka выше, это при запросе создавать файл и уже потом его хранить. Так работает движок OpenCart с кэшированием картинок.
Это просто шикарно, обязательно протестирую!
В следующем проекте, обязательно воспользуюсь этим.
А вот про SPL первый раз слышу… Я правильно понял что это: php.net/manual/ru/book.spl.php и как его можно применить?
Мы же старались создать решение для обычного или начинающего пользователя.
И как уже писали, скорее всего, в этом коде вы не учитываете что картинки будут разного размера, и watermark нужно менять.
Большое спасибо, это мы записали, но ещё не пофиксили. Как выход, это прописывать в ручную исходную и конечную папку. И как уже предлагали, разбивать все на функции для удобства.
За $scanned_directory = array_diff(scandir($directory), array('..', '.')); большое спасибо, в этом направлении я не думал…
Если есть ещё, прямо кусочки кода которые стоит заменить, сообщите.
Я не претендую на идеальный продукт, но нужно учиться и стремиться к совершенству.
Так как через месяц, при появлении новых картинок, пришлось запускать скрипт заново, а это уже излишки работы.