Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как перехватить Fatal error 
:(
    Опции темы
Fubu_By
Дата 17.12.2009, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 14.2.2007

Репутация: нет
Всего: 0



при использовании imagecreatefromjpeg()
выскакивает ошибка
Код

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 591 bytes) in /home/gggg/classes/CImage.php on line 204


как её можно перехватить и обработать?


Это сообщение отредактировал(а) Fubu_By - 17.12.2009, 18:53


--------------------
PM MAIL WWW   Вверх
sTa1kEr
Дата 17.12.2009, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Никак.
PM MAIL   Вверх
comcon1
Дата 17.12.2009, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: нет
Всего: 17



Ее никак, но ты можешь запретить обработку изображений, размер которых превышает какое-то кол-во байт.


--------------------
PM MAIL   Вверх
Fubu_By
Дата 17.12.2009, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 14.2.2007

Репутация: нет
Всего: 0



ясно, значит будим фильтровать по объёму


--------------------
PM MAIL WWW   Вверх
Ипатьев
Дата 17.12.2009, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



по объему фильтровать бессмысленно.
надо фильтровать по размеру.
PM MAIL   Вверх
Simpliest
Дата 17.12.2009, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(Fubu_By @  17.12.2009,  17:53 Найти цитируемый пост)
как её можно перехватить и обработать

вызывай данный скрипт аяксом и обрабатывай ошибку на клиенте.
+
Можешь попробовать
http://dklab.ru/chicken/nablas/45.html
но тоже не имеет 100%й гарантии.


--------------------
user posted image
PM   Вверх
Ипатьев
Дата 17.12.2009, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Simpliest, такое ощущение, что вы читаете только заголовок smile
PM MAIL   Вверх
comcon1
Дата 17.12.2009, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 11.6.2005
Где: Москва ДАС-МГУ

Репутация: нет
Всего: 17



>по объему фильтровать бессмысленно.
>надо фильтровать по размеру. 

А как получить размер картинки без загрузки ее в память? Я просто не знаю таких функций, хотя наверняка они есть.


--------------------
PM MAIL   Вверх
Ипатьев
Дата 17.12.2009, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



getimagesize()
самая известная функция для работы с изображениями в РНР.
PM MAIL   Вверх
sTa1kEr
Дата 18.12.2009, 00:19 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(Simpliest @  17.12.2009,  23:54 Найти цитируемый пост)
Можешь попробовать
http://dklab.ru/chicken/nablas/45.html
но тоже не имеет 100%й гарантии. 

Увы, этот способ не позволяет обрабатывать ошибки, а только выводить информацию об ошибке в более читабельном виде.
PM MAIL   Вверх
brother79
Дата 18.12.2009, 06:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 471
Регистрация: 18.8.2009

Репутация: 2
Всего: 6



Цитата(Fubu_By @  17.12.2009,  18:53 Найти цитируемый пост)
при использовании imagecreatefromjpeg()
выскакивает ошибка
Выделить всёБез подсветки
1:
    
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 591 bytes) in /home/gggg/classes/CImage.php on line 204


как её можно перехватить и обработать?



Может просто памяти не хватило для php? По умолчанию даётся 16М, 

Код

ini_set('memory_limit', '512M');


Ставишь сколько нужно этим, правда не на всех хостингах эта опция разрешена настройками, на виртуальных может быть жостко 16М ограниченно, тогда уж придётся писать скрипты так, чтобы укладывался.

Ещё для ознакомления:

Код

set_time_limit(70000);


тоже может пригодиться.

Лимиты у меня дики, со старого проекта, с жутким импортом нерациональным, поэтому поставь сам сколько тебе нужно.


--------------------
PM MAIL WWW   Вверх
Simpliest
Дата 18.12.2009, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(sTa1kEr @  17.12.2009,  23:19 Найти цитируемый пост)
Увы, этот способ не позволяет обрабатывать ошибки, а только выводить информацию об ошибке в более читабельном виде. 

Вобщем-то ты прав smile
Редирект можно попробовать сделать куда-нибудь smile хотя не проверял.


--------------------
user posted image
PM   Вверх
Fubu_By
Дата 18.12.2009, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 290
Регистрация: 14.2.2007

Репутация: нет
Всего: 0



init_set() ни виртуальном никто не даст использовать((

а фильтровать по обёму надо полюбому как понял, а то если кто то захочет напакостить, у  него это получится((
всем спасибо


--------------------
PM MAIL WWW   Вверх
capitan
Дата 18.12.2009, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 27.2.2005
Где: Москва

Репутация: 9
Всего: 13



Не уверен, что сработает, т.к. не пробовал. Но можно попробовать конструкцию try… catch
http://habrahabr.ru/blogs/php/21376/
PM MAIL WWW ICQ   Вверх
Ипатьев
Дата 18.12.2009, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



во-первых не сработает.
во-вторых, и не нужно. в данном конкретном случае. если вопрос прочитать
PM MAIL   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1635 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.