Страница 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
Не помогает