изменить размер изображений в php с помощью imagemagick на хостинге 1 & 1 - PullRequest
1 голос
/ 02 июня 2011

Недостаточно памяти, когда я позволяю пользователям изменять размеры изображений современных камер с разрешением 12 Мп или выше. Даже некоторые изображения размером всего 900 КБ занимают гораздо больше места в памяти, потому что они основаны на размере пикселя (я думаю), так что ...

У меня есть SSH-доступ к общему серверу 1 & 1, и я следовал их инструкциям, чтобы загрузить imagemagick и сконфигурировать / сделать / установить его в каталог на моем сервере. Теперь, что мне нужно сделать в php, чтобы сделать то же самое, что и

$originalImage = imagecreatefromjpeg($src);
$finalImage = imagecreatetruecolor($newWidth,$newHeight);
imagecopyresampled($finalImage, $originalImage, 0, 0, 0, 0, $newWidth, $newHeight, $originalWidth, $originalHeight);
imagejpeg($finalImage,$saveDest,$jpeg_quality);

переменные, я надеюсь, говорят сами за себя. Я пытался найти способ установки расширения imagick, но я действительно заблудился, когда прочитал о PECL и PEAR, и я действительно не хочу как-то испортить рабочую установку php.

Ответы [ 2 ]

0 голосов
/ 02 июня 2011
exec('/path/to/your/home/imagemagick/installation/bin/convert '.$src.' -resize '.$newWidth.'x'.$newHeight.' '.$saveDest);

Но убедитесь, что все переменные, поступающие с сайта пользователя, экранированы.А $ saveDest доступен для записи вашим веб-сервером.

Сильны изменения, которые вы запускаете из-за проблем с ограничением памяти, couse apache / php вызывает скрипт, который ограничивает использование памяти его родителем.

0 голосов
/ 02 июня 2011

Обновление php.ini файл:

memory_limit = 2048M
...