Как установить таймаут на getimagesize

12
antono
На сайте с 12.07.2004
Offline
303
1335

Есть такая функция - getimagesize - определяет размер картинки на удаленном сайте. Так вот если этот сайт лежит, то эта функция очень сильно тормозит работу всего скрипта. Можно ли поставить на нее какой нибудь таймаут, например 3 секунды или как-то по другому решить проблемму?

dkameleon
На сайте с 09.12.2005
Offline
386
#1

Можно тащить удалённый имадж через сокеты, кидать в темп, и оттуда имаджсайз брать.

в сокетах таймаут ставится :)

Дизайн интерьера (http://balabukha.com/)
human
На сайте с 05.02.2004
Offline
78
#2

У себя решаю эту проблему через mod_accel (sysoev.ru), т.е. картинки кэшируются.

С уважением, Кучеров Дмитрий SEO complex — комплексный подход к продвижению (http://seo-complex.ru/) моб. тел.: +7 (495) 506-80-90
pauk
На сайте с 26.01.2005
Offline
543
#3
antono:
getimagesize - определяет размер картинки на удаленном сайте

Не обязательно с удалённых...

Попробуй jpg к себе закачать и там дальше обрабатывать

Hi!
antono
На сайте с 12.07.2004
Offline
303
#4

А других вариантов как закачка к себе и кэширование нет?

human
На сайте с 05.02.2004
Offline
78
#5
antono:
А других вариантов как закачка к себе и кэширование нет?

Можно просто таймаут выставить для конкретного скрипта, если хостинг позволяет: void set_time_limit ( int seconds )

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

M
На сайте с 12.05.2005
Offline
133
#6
antono:
А других вариантов как закачка к себе и кэширование нет?

Если любите отношения, то можете загружать байт по 100 от файла через сокеты, определить форматы заголовков и читать размер от туда, например для gif _ttp://www.onicos.com/staff/iz/formats/gif.html, там же и для других форматов.

Другого пути нет, только или загружать себе или ждать или вот так.

[Удален]
#7

Можно выставить через ini_set значение default_socket_timeout, и ваша функция будет по нему отваливаться. Но это не шибко надежно, так как если удаленный сайт лежит не совсем, а просто очень медленно отвечает, скрипт не отвалится, а будет все равно тормозить.

dkameleon
На сайте с 09.12.2005
Offline
386
#8
antono:
А других вариантов как закачка к себе и кэширование нет?

Определение размера - это в любом случае закачка. Полная или частичная.

medaest подсказал второй неплохой вариант, но для этого желательно заголовки файлов знать хорошенько :)

M
На сайте с 12.05.2005
Offline
133
#9
dkameleon:
Но для этого желательно заголовки файлов знать хорошенько :)

Ага и ещё писать на чем-то отличном от php :), например fast cgi на C

dkameleon
На сайте с 09.12.2005
Offline
386
#10
medaest:
Ага и ещё писать на чем-то отличном от php , например fast cgi на C

Нафига это надо если челу просто размер картинки дёрнуть надобно? 😕

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий