Я работаю над сценарием загрузки, но у меня возникают проблемы с загрузкой огромных изображений.
Наш клиент должен загружать файлы размером около 20000x20000 пикселей, да, тысячи. Чтобы сделать его еще хуже, его клиенты должны быть в состоянии ударить это также.
Теперь загрузка сама по себе не является проблемой, но изображение необходимо загрузить в браузер, поэтому нам нужна его небольшая версия.
Следующий код работает, но использует слишком много ОЗУ
$imgString = file_get_contents($file['tmp_name']);
$image = imagecreatefromstring($imgString);
$tmp = imagecreatetruecolor($width, $height);
$color = imagecolorallocate($tmp, 255, 255, 255);
imagefill($tmp, 0, 0, $color);
imagecopyresampled($tmp, $image, 0, 0, 0, 0, $width, $height, $oldWidth, $oldHeight);
Но для этого требуется слишком много оперативной памяти. Наш VPS (в настоящее время) имеет только 4 ГБ в настоящее время, с 3,5 ГБ, выделенными Apache для тестирования (конечно, не рекомендуется для производства).
Что вы рекомендуете для этого процесса изменения размера вместо того, чтобы делать это таким образом? Моему боссу не очень нравятся сторонние опции, которые мы не можем разместить, например Uploadcare.