Pull to refresh

Comments 21

Пишете, что ImageMagick на хостинге нет, и тут же используете его в своем скрипте :)
Если imagecreatefromjpeg() это он и есть, то тогда не понимаю почему предлагали его использовать в тех форумах, наверное от такого же незнания. Уже закрыл вкладки, не буду опять искать, где это видел.
Не работало new Imagick(), я это имел ввиду.
Значит на хостинге нет PHP расширения «imagick»,
но есть пакет программ «ImageMagic».
Значит получается что ImageMagick есть, но нет к нему интерфейса в PHP. Спасибо за информацию.
чисто теоретически imagick жрет меньше памяти и ресурсов, и возможно на данном этапе Вам это поможет, но рано или поздно, вам придется посмотреть в сторону VDS, или dedicated сервера
Хочу поинтерисоваться — насколько меньше?
он просто жрёт «другую» память, та которая не ограничена в php.ini
Еще можно использовать флеш загрузчик, который предварительно уменьшит фотку… вконтакте есть аналог, то там ява
попробуйте сначала использовать imagecopyresized(), которая жрет меньше памяти — для грубого уменьшения (например картинку 2500 x 2000px сжать на 50% до 1250 x 1000), а потом уже качественно через imagecopyresampled() догнать до нужных размеров
www.hostforum.ru/showthread.php?t=11174
Здесь пишут про те же проблемы с памятью, mogrify же позволил решить мою проблему сейчас, пока остановлюсь на нём.

В свободное время поэкспериментирую с этой функцией, возможно она ещё пригодится. Спасибо за информацию.
GD жрет дофига памяти.
Чтобы использовать imagecopyresized — нужно все-таки сначала сделать imagecreatefromjpeg, что и вызывает у автора ошибку :)

А вообще на своем хостинге картинок я полностью пересел с GD на ImageMagick через exec();

Ресурсов жрет на порядок меньше, ограничение по памяти ему не страшно, возможностей больше.
В свое время решал подобную проблему на сильно ограниченном хостинге (php). ImageMagick в виде php экстеншна не было. И при попытке обработки картинок размером с 2Мб и более по памяти все вываливалось.

Вопрос решил так: c++ библиотеку ImageMagick залил на хостинг, на нем же написал внешнюю утилиту, которая обрабатывала все фотки, и отдавала только нужные параметры итогового изображения php-скрипту. Довольно просто и результативно получилось.
* при условии, что на хостинге есть gcc, и можно скомпилить сишную утилиту
в одном проекте так же использовал, правда там у меня несколько необходимых размеров, делал так: в url'е картинки зашифрованы необходимые размеры и другие действия которые необходимо над картинкой сделать, в .htaccess написано отдавать картинку если такая уже есть сгенерированная, либо передавать php скрипту, который вызывает imagemagick. удобно и универсально получилось.
мы решили такую проблему уменьшением картинки на стороне клиента.
плюс к такому решению — меньший трафик
Действительно будет отличное решение, нужно будет реализовать такую штуку, это даст и более удобный выбор файлов (не все, а лишь разрешённые), и возможность загружать сразу множество файлов, ну и скорость за счёт меньшего трафика.
Sign up to leave a comment.

Articles