Страница 1 из 2

Трудности с php. Работа с переменным успехом.

Добавлено: 30 ноя 2011, 00:15
Deniska
Есть php скрипт, работающий , но с переменным успехом. Работает через раз,два..

Код: Выделить всё

<?php $res=file_get_contents('http://93.190.44.22:8000/'); preg_match("/Current Song:<\/td>\n<td class=\"streamdata\">(.*?)<\/td>/",$res,$song); print($song[1]); ?>
Суть скрипта проста, вывести текст после строки Current Song.
Пробывал на 3-х разных платных хостингах - все равно бывает что не работает совсем. Уже даже на vps поставили денвер чтобы протестировать - тоже самое. В чём может быть проблема? Через php-лаучнер работает всегда и моментально.

UPD: включил дебаг режим как сразу скрипт начал работать и пока сбоев не вижу, но не вижу логики почему?
UPD2: я был неправ:) Снова перебои в работе скрипта.
UPD3: Дебаг режим показал такое
 

Код: Выделить всё

Warning: file_get_contents(http://93.190.44.22:8000/) [function.file-get-contents]: failed to open stream: Connection timed out in /home/denisblo/radiomice.ru/www/fm.php on line 4 Notice: Undefined offset: 1 in /home/denisblo/radiomice.ru/www/fm.php on line 8

Re: Трудности с php. Работа с переменным успехом.

Добавлено: 30 ноя 2011, 05:44
bodnar
добавь какую нить проверку на этот самый failed to open stream например проверить содержимое переменной, если там ничего нет (или что возвращает метод в случае ошибки?) то попытаться загрузить еще раз, и так несколько раз, если неуспешно завершить выполнение скрипта

Re: Трудности с php. Работа с переменным успехом.

Добавлено: 30 ноя 2011, 06:07
bodnar
может как то так, не люблю php)

Код: Выделить всё

 $counter = 0;$p=true;while($p){      $res=file_get_contents('http://93.190.44.22:8000/');      if (!empty($res)){            $p=false;      } else {            $counter++;            if ($counter>3) die("Невозможно загрузить файл");}      }}

Re: Трудности с php. Работа с переменным успехом.

Добавлено: 30 ноя 2011, 08:08
[DIWMS]
preg_match_all попробуйте. Посмотрите что с регуляркой, она скорее всего не рабочая.

Re: Трудности с php. Работа с переменным успехом.

Добавлено: 30 ноя 2011, 09:16
Deniska
bodnar писал(а):может как то так, не люблю php)
 

Код: Выделить всё

 $counter = 0;$p=true;while($p){      $res=file_get_contents('http://93.190.44.22:8000/');      if (!empty($res)){            $p=false;      } else {            $counter++;            if ($counter>3) die("Невозможно загрузить файл");}      }}
Совсем не отображает и не загружает.

preg_match_all результата не дал.

Вот только почему через php -лаунчер работает всегда?

Re: Трудности с php. Работа с переменным успехом.

Добавлено: 30 ноя 2011, 14:36
ukhov
а этот сервер, с которого ты file_get_contents, быстро открывается?

Re: Трудности с php. Работа с переменным успехом.

Добавлено: 30 ноя 2011, 14:51
Deniska
ukhov писал(а):а этот сервер, с которого ты file_get_contents, быстро открывается?
Да. Все остальное летает.

Re: Трудности с php. Работа с переменным успехом.

Добавлено: 30 ноя 2011, 15:30
ukhov
сейчас всё должно будет работать.

Код: Выделить всё

<?php $c = file_get_contents("http://93.190.44.22:8000"); preg_match_all('#<td>Current Song:</td><td class="streamdata">(.+?)</td>#is', $c, $matches);  foreach ($matches[1] as $song) { echo("Song - <b>".$song."</b>"); } ?>

Re: Трудности с php. Работа с переменным успехом.

Добавлено: 30 ноя 2011, 15:32
ukhov
а вообще там ошибка о другом говорит
Connection timed out
долго грузит страницу

Re: Трудности с php. Работа с переменным успехом.

Добавлено: 30 ноя 2011, 20:31
Deniska
Не помогает :(