imagecreatefromjpeg при работе с большими файлами

amorfis

я стараюсь
imagecreatefromjpeg при работе с большими файлами

Пытаюсь создать новую картинку на основе имееющийся на сервере.

Если размеры картинки 3000X2000 и вес соотвественно более метра, то при вызове данной функции происходит сбой и браузер возвращает: невозможно отобразить страницу.

Если же выполнить тот же код, но для картинки размером 600 на 400 и весом около 100 кбайт, то все замечательно работает.

Кто-нибудь сталкивался с такими сбоями и возможно ли это как-то решить?
 

Гравицапа

elbirret elcno
amorfis
Хорошо не плакаты, отсканированные, обрабатываешь...
Скажи, а зачем тебе изображения таких размеров? Что ты с ними делаешь?
 

amorfis

я стараюсь
Гравицапа
Да я сам в шоке. Как посмотрел, что люди закачали на сайт. Теперь надо оптимизировать.
 

amorfis

я стараюсь
к сожалению нет. Так как я просто когда вставляю в код вызов imagecreatefromjpeg() браузер просто возвращает "Невозможно отобразить страницу". Никакой информации словом. Доступа к логу ошибок сервера нет.
 

Гравицапа

elbirret elcno
amorfis
Ну на локалхосте попробуй и посмотри, что будет в логах на тему
"блин, а мне недостаточно памяти"
Ну и в виду того, что ты так и не объяснил, что ты с этими картинками делаешь, может лучше их в фотошопе обработать, а?
Да, и кстати, поиск скажет тебе, что ты не одинок со своей проблемой...
 

amorfis

я стараюсь
не лучше. Они на сервере и их очень много. Буду пробывать на localhost.
 

amorfis

я стараюсь
Наверно. Но его ведб надо а сервер установить. А это вряд ли получится и как я помню он работает через exec(), что запрещено использовать.
 

Brezee

Новичок
Автор оригинала: amorfis
Наверно. Но его ведб надо а сервер установить. А это вряд ли получится и как я помню он работает через exec(), что запрещено использовать.
да на сервер нужно установить :), но работать можно и не через exec, а через magickwand http://www.magickwand.org/.
удается работать с файлами размером 16000х16000(ресурсов сервера конечно много тратится, но 2 мин и скажем resize готов)
 

Фанат

oncle terrible
Команда форума
всегда меня поражала логика таких советов.
человеку, который ни экзек использовать не может, ни память под скрипт увеличить - советуют что-то на сервер ПОСТАВИТЬ.

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

Brezee

Новичок
To Фанат
вообщето чел на хостинге, и по ходу сам не сможет ничего поставить, но из моего ответа будет знать что есть еще варианты решения его задачи, ну или хотябы узнает на одно умное слово больше.
всегда меня удивляла манера ответов Фаната, но кажись ему нужно взять отпуск...
 

Ярослав

Новичок
2 Brezee
На форум человек пришел за решением своей проблемы, а не для того чтоб Вы прочли ему лекцию, что вот еще можно так но для Вам это все равно не поможет:mad:
 

antson

Новичок
Партнер клуба
amorfis
1)поставь себе на локал php 5.2.1.
в версии под винду начал правильно работать мемори лимит
и поставь ограничение тоже, что у хостера - сможешь отлаживать по использованию памяти

на случай если лениво таскать файлы туда обратно,
но не факт, что заказчик на это согласиться
2) в скрипте создающем превьюшку сперва
проверяется количество памяти потребующейся на открытие
картики через формулу ширина*высота*глубина цвета на канал* кол-во каналов
если памяти потребуется больше чем выясненый тобой предел, какой может обработать твой скрипт (
для начала опытов можно взять 40% от мемори_лимита ),
то вместо ресайзинга возвращать картинку, что фото слишком большое, подложка и при желании на ней написать
ХХХХ на ХХХХХ
ХХХХХХ кб


3)На будущее поправить скрипт аплоада фоток так, чтобы те, которые нельзя отресайзить заброковались.
 
Сверху