Автор Тема: Загрузка картинок.  (Прочитано 6342 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ZeRo

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://jobdog.ru
Загрузка картинок.
« : 23 Апреля 2003, 12:19:31 »
Всем привет. Сделал я тут такую тему что на сайте выводится изображение веб камеры (ее снимок). Естественно камера не у меня дома а ..... короче раскиданы по всему свету. Дак вот к выводу изображения из камеры можно просто обратится

www.host.com/webcam/image.jpg>

Оно будет динамично..... и все время обновляться.
А что если сервак закрыт-> Картинка недоступна-> Виснет весь сайт.

Дак я тут и так и сяк пробовал. Но если изображения нет то сайт висит.

Если у кого есть какие-либо соображения по этому поводу !!!

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Загрузка картинок.
« Ответ #1 : 23 Апреля 2003, 12:26:36 »
if(наличие картинки) грузить;
else не грузить (с выводом сообщения о временной нетрудоспособности);

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Загрузка картинок.
« Ответ #2 : 23 Апреля 2003, 12:37:48 »
ZeRo
а как это сайт висит?
если я напишу то у на сайте лишь увижу крестик красный или еще какой маркер что картинка не подгрузилась... но сайт работоспособен будет вполне...

действительно просто необходимо делать проверку на наличие этой картинки на другом серваке, но это по-моему тоже не так просто.... как if (есть картинка)....

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

Оффлайн MrGreeN

  • просто зелёный
  • Постоялец
  • ***
  • Сообщений: 195
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Загрузка картинок.
« Ответ #3 : 23 Апреля 2003, 13:27:04 »
Угу... (я просто нексколько упростил проблемку)...

Оффлайн ZeRo

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://jobdog.ru
Загрузка картинок.
« Ответ #4 : 24 Апреля 2003, 12:15:02 »
Да щас. Если картинку грузить с другого сайта и она грузится из отдельного меню (меню организовано как функция) , то все остальные меню не выводятся (те которые после него)..... и даже если скрипт поймет что картинка 404 это будет не раньше чем митут так через 5.

Оффлайн ZeRo

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://jobdog.ru
Загрузка картинок.
« Ответ #5 : 24 Апреля 2003, 12:18:03 »
Кстати да насчет CRONа идея хорошая .... только как насчет отлавливания ошибки 404? Если это страница то все понятно .... а как поступать с картинками? И что на крон ставить с интервалом в 1 минуту ?

Оффлайн ZeRo

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://jobdog.ru
Загрузка картинок.
« Ответ #6 : 24 Апреля 2003, 12:21:12 »
Короче смотрите сами. Лично для вас я открыл сайт.

http://www.eportal.ru

Если он не будет грузиться .... через минуту нажмите остановку.... как раз он догрузится до webкамер.

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Загрузка картинок.
« Ответ #7 : 24 Апреля 2003, 13:36:02 »
я че то не пойму в чем проблема....

int copy ( string source, string dest)
Makes a copy of a file. Returns TRUE if the copy succeeded, FALSE otherwise.


если файла не существует получишь FALSE, а если существует то резльтрующий файл перезапишется

Оффлайн ZeRo

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://jobdog.ru
Загрузка картинок.
« Ответ #8 : 24 Апреля 2003, 14:35:04 »
Ну я сделал как сказал semya .... получилось что-то типа

$file="$row1[link]";
$file_server=\'images/temp_cam.jpg\';
if (!copy($file,$file_server)) {
$file_ext=\'images/no.jpg\';  
}
else
{
$file_ext=$file;
}

{
$im="$file_ext";
$a=getimagesize($im);
$height = 238;
$temp = $a[1]/$a[0];
$width = 238*$temp;
echo "

";
echo "

$row1[place]

";


... Ну тут уменьшение картинки еще.

ВСЕ ХОРОШО ТОЛЬКО КТОНИТЬ ПОДУМАЛ СКОЛЬКО ЭТО ГРУЗИТСЯ (на сайт я это пока не выложил). Как вы заметили он два раза делает загрузку изображени... притом один раз сохраняя его. А мне что нужно ПРОСТО ПРОВЕРИТЬ ЕСТЬ ОНА ТАМ ИЛИ НЕТ.

Оффлайн semya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Загрузка картинок.
« Ответ #9 : 24 Апреля 2003, 19:10:03 »
ZeRo
если хоститься твой сайт будет не на модемном коннекте, то скачать с другого сайта 5 килобайт не составит труда и не займет много времени.... а если тебе просто надо ее проверять, то зачем ресайз делать? делаешь copy, если ок, то есть картинки, если нет, то нету ее там...

Оффлайн ZeRo

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://jobdog.ru
Загрузка картинок.
« Ответ #10 : 24 Апреля 2003, 21:01:31 »
Ну да ... а ты на сайте был? Посиотри сам поймеш зачем ресайз... они же 800x600.

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Загрузка картинок.
« Ответ #11 : 25 Апреля 2003, 08:14:51 »
Цитировать
ZeRo:
они же 800x600
А ты сам то был там :) Они далеко не все 800х600
Все болезни от нервов, только сифилис от удовольствия

Оффлайн ZeRo

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 34
  • +0/-0
  • 0
    • Просмотр профиля
    • http://jobdog.ru
Загрузка картинок.
« Ответ #12 : 25 Апреля 2003, 17:31:21 »
Конечно не все для этого мне и нужен ресайз. Многие 750x600 или чего еще хуже.


Так что никто не знает как это сделать?

Оффлайн FreeSpace

  • Штатный лодырь
  • Ветеран
  • *****
  • Сообщений: 613
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.infinity.com.ua
Загрузка картинок.
« Ответ #13 : 26 Апреля 2003, 13:40:31 »
Похоже это то, что тебе нужно:

function url_exists($server$path$port=80$timeout=30){
	
$fp fsockopen ($server$port$errno$errstr$timeout); 
	
if (!
$fp) { 
	
	
return 
false;
	
} else {
	
	
fputs ($fp"GET "$path ." HTTP/1.0\\r\\nHost: "$server ."\\r\\n\\r\\n"); 
	
	
$headers "";
	
	
while (!
feof($fp)){
	
	
	
$headers .= fgets ($fp,128);
	
	
	
if (
strlen($headers) > 1024)
	
	
	
	
break;
	
	
}
	
	
fclose ($fp);
	
	
$header explode("\\r\\n\\r\\n"$headers);
	
	
$header explode("\\r\\n"$header[0]);
	
	
if (
strstr($header[0], "200 OK")){
	
	
	
//Раскомментируй следующую строчку, если хочешь получать сам заголовок типа HTTP/1.0 200 OK
	
	
	
//return $header[0];
	
	
	
return 
true;
	
	
} else {
	
	
	
return 
false;
	
	
}
	
}
}
echo 
url_exists(\'forums.webscript.ru\', \'/img/logo.gif\');

Extensive testing не проводил, например можно добавить разную реакцию на разные заголовки, но принцип думаю ты понял.
Если что - могу подробно объяснить, как это работает.
Программирование - это единственное искусство, которое способно воплотить столь уникальное сочетание эстетики и функциональности.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28