Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как проверить соеденение с сервером.
 
 автор: dim0s   (24.03.2008 в 11:19)   письмо автору
 
 

Считываю из файла содержание функцией file_get_contents.
если соединения нет - выдает ошибку.
если типа напиасать:
$str=file_get_contents($url);
if($str == false) {echo "error";}

все равно сначала выдает ошибку, а потом уж "error" пишет.

Подскажите пожалуйста, как или сначала соеденение проверить, или как-то функцию что-ли.

   
 
 автор: Antohins   (24.03.2008 в 11:22)   письмо автору
 
   для: dim0s   (24.03.2008 в 11:19)
 

Вообще делается так:
if(file_get_content($url))
{
//функция дала true
}
else { //false}


Скорее всего ваш хостер запрещает исходящие соединения. попробуйте тестировать на домашнем сервере.

   
 
 автор: dim0s   (24.03.2008 в 11:27)   письмо автору
 
   для: Antohins   (24.03.2008 в 11:22)
 

в том-то и дело она тока в случае неудачи false вoзвращает, а если все нормально - строку.

   
 
 автор: Antohins   (24.03.2008 в 11:29)   письмо автору
 
   для: dim0s   (24.03.2008 в 11:27)
 

какую строку она возвращает?

   
 
 автор: dim0s   (24.03.2008 в 11:40)   письмо автору
 
   для: Antohins   (24.03.2008 в 11:29)
 

я всмысле что строку, а не true, поэтому

if(file_get_content($url))
{
//функция дала true
}
else { //false}


не проходит, если нет коннекта выдает ошибку
[function.file-get-contents]: failed to open stream: No route to host in .... и е.д.


когда есть коннект - все естественно работает

   
 
 автор: Atheist   (24.03.2008 в 11:42)   письмо автору
 
   для: Antohins   (24.03.2008 в 11:22)
 

> if(file_get_content($url))
Вообще-то содержимое получаемого документа может быть, допустим, просто "0" и тогда получится, что якобы документ не загрузился.

   
 
 автор: dim0s   (24.03.2008 в 11:45)   письмо автору
 
   для: Atheist   (24.03.2008 в 11:42)
 

тот документ, не может быть пустым :), да и не в этом дело.
Как проверить соеденение-то?

   
 
 автор: Antohins   (24.03.2008 в 11:47)   письмо автору
 
   для: dim0s   (24.03.2008 в 11:45)
 

Если загрузится - работает, не загрузится - не работает) не понятен ваш вопрос если честно, все же уже выяснили вроде

   
 
 автор: dim0s   (24.03.2008 в 11:54)   письмо автору
 
   для: Antohins   (24.03.2008 в 11:47)
 

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

   
 
 автор: Antohins   (24.03.2008 в 11:56)   письмо автору
 
   для: dim0s   (24.03.2008 в 11:54)
 

Что значит кирдык?)
Отключи ошибки если они тебе так мешают.

   
 
 автор: dim0s   (24.03.2008 в 12:06)   письмо автору
 
   для: Antohins   (24.03.2008 в 11:56)
 

Кирдык - всмысле прекращается работа скрипта.
Ошибки отключить можно конечно, но это ни есть правильный подход :)

   
 
 автор: Antohins   (24.03.2008 в 13:10)   письмо автору
 
   для: dim0s   (24.03.2008 в 12:06)
 

Почему ни есть? Если уверены что других ошибок не будет, то отключай. Тем более хакеру будет сложнее найти уязвимость если ошибки отключены ;-)

   
 
 автор: Valick   (24.03.2008 в 13:17)   письмо автору
 
   для: Antohins   (24.03.2008 в 13:10)
 

Надо сначала написать скрипт без ошибок, а уже потом отключать ;)

Есть оператор @ который служит для подавления стандартного предупреждения...

   
 
 автор: Antohins   (24.03.2008 в 13:31)   письмо автору
 
   для: Valick   (24.03.2008 в 13:17)
 

>Надо сначала написать скрипт без ошибок, а уже потом отключать ;)

"Если уверены что других ошибок не будет, то отключай" - я это и посоветовал человеку

   
 
 автор: dim0s   (24.03.2008 в 15:44)   письмо автору
 
   для: Antohins   (24.03.2008 в 13:31)
 

Ну вообщем, Всем спасибо.
Задействовал соскеты


$fp = @fsockopen($url, 80,$errno, $errstr,10);

if ($fp)
{
  echo "est connect ";
  // dalee po planu
}
else
{
  exit;
}

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования