Если imagecreatefromjpeg() это он и есть, то тогда не понимаю почему предлагали его использовать в тех форумах, наверное от такого же незнания. Уже закрыл вкладки, не буду опять искать, где это видел.
чисто теоретически imagick жрет меньше памяти и ресурсов, и возможно на данном этапе Вам это поможет, но рано или поздно, вам придется посмотреть в сторону VDS, или dedicated сервера
попробуйте сначала использовать imagecopyresized(), которая жрет меньше памяти — для грубого уменьшения (например картинку 2500 x 2000px сжать на 50% до 1250 x 1000), а потом уже качественно через imagecopyresampled() догнать до нужных размеров
В свое время решал подобную проблему на сильно ограниченном хостинге (php). ImageMagick в виде php экстеншна не было. И при попытке обработки картинок размером с 2Мб и более по памяти все вываливалось.
Вопрос решил так: c++ библиотеку ImageMagick залил на хостинг, на нем же написал внешнюю утилиту, которая обрабатывала все фотки, и отдавала только нужные параметры итогового изображения php-скрипту. Довольно просто и результативно получилось.
в одном проекте так же использовал, правда там у меня несколько необходимых размеров, делал так: в url'е картинки зашифрованы необходимые размеры и другие действия которые необходимо над картинкой сделать, в .htaccess написано отдавать картинку если такая уже есть сгенерированная, либо передавать php скрипту, который вызывает imagemagick. удобно и универсально получилось.
Действительно будет отличное решение, нужно будет реализовать такую штуку, это даст и более удобный выбор файлов (не все, а лишь разрешённые), и возможность загружать сразу множество файлов, ну и скорость за счёт меньшего трафика.
Нехватка памяти на хостинге для обработки картинок