Измените размер изображений, слишком больших для Библиотеки GD по моему серверу

веб-инспектор WebKit также поддерживает Firebug консоль API (просто незначительное дополнение к ответ даН ).

6
задан Mike McLin 13 August 2009 в 15:43
поделиться

5 ответов

Вы можете вызвать Imagemagick, чтобы изменить размер изображения на вашей php-странице, но есть вопрос безопасности, тогда если вы разрешите системные вызовы

Любой API будет использовать много памяти, вы можете изменить свой php memory_limit также.

3
ответ дан 9 December 2019 в 22:37
поделиться

Если у вас есть доступный ImageMagick api в вашей конфигурации PHP - используйте его! ImageMagick не учитывается в PHP memory_limit и, следовательно, может работать с большими файлами.

Если у вас действительно нет контроля над сервером, быстрое и очень плохое решение - после получения файла изображения из $ _POST, сначала проверьте размеры с помощью:

<?php
$image_size = getimagesize("yourfile.jpg")
$mem_usage = $image_size[0] * $image_size[1] * 4 //4 bytes per pixel (RGBA)
if ($mem_usage > $mem_aviable) {
    die ('Please upload smaller pic. I tell you that all the time.  '.
         'Resize yout huge 7MP images from your digital camera '.
         'before uploading them.'); //Better put something more polite here.
}
3
ответ дан 9 December 2019 в 22:37
поделиться

Вы можете выполнить оболочку для внешней программы, например, используя convert .

1
ответ дан 9 December 2019 в 22:37
поделиться

Просто сделайте так, чтобы они уменьшили его размер перед загрузкой. MAX_FILE_SIZE

1
ответ дан 9 December 2019 в 22:37
поделиться

как насчет того, чтобы загрузить их, а затем поставить в очередь задание изменения размера, php-скрипт командной строки может затем подобрать и обработать (быстрее и может иметь отдельный предел памяти и время выполнения)

1
ответ дан 9 December 2019 в 22:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: