За последние 24 часа нас посетили 17207 программистов и 1639 роботов. Сейчас ищут 1827 программистов ...

Автоматичекое обновление при событии

Тема в разделе "Прочее", создана пользователем fsradio, 22 янв 2007.

  1. fsradio

    fsradio Активный пользователь

    С нами с:
    22 янв 2007
    Сообщения:
    2
    Симпатии:
    0
    Подскажите пожалуйста, требуется скрипт который бы отображал информацию ShoutCast сервера, а именно название трека. Еще важно что бы при смене трека скрипт автоматически обновлялся и показывал новый трек....
    У меня есть вот такой-вот скрипт:
    PHP:
    1. <?php
    2.     $to = 0.05;  // таймаут для открытия сокета
    3.  
    4. function radio($radio,$port)
    5.  {
    6.   global $to;  // объявляем переменную $to внутри функции
    7.  
    8.   @$fs=fsockopen($radio,$port,$err1,$err2,$to);  // открываем сокет на радио сервер
    9.  
    10.   if ($fs)  // если сокет открыт, то…
    11.    {
    12.      // этим заголовком мы даем серверу понять то, что мы браузер а не какой-то там винамп ;) , и читаем содержимое главной страницы
    13.     fputs($fs,"GET / HTTP/1.0\r\nUser-Agent: Mozilla/2.0\r\n\r\n");
    14.  
    15.     $d=fgets($fs); $d=fgets($fs); $d=fgets($fs); $d=fgets($fs);  // читаем строку с содержимым главной страницы
    16.     if (strpos($d,"Server is currently down"))  // если находим строку "Server is currently down", то делаем вывод, что сервер выключен
    17.      {
    18.       echo "<font face=\"Verdana\" style=\"font-size: 11px;\">
    19.      Радио <a href=\"http://radio.ext.ru/playlist/radio.m3u?station=flexstyle&stream=128\" style=\"color: #ff0000\" target=\"_blank\"><b>FS Radio</b></a>:
    20.      <br>В данный момент сервер не запущен
    21.      </font>";  // сообщаем пользователю о том что сервер выключен
    22.      }
    23.     else  // в противном случае делаем вывод о том, что сервер включен
    24.      {
    25.       $pos=strpos($d,"kbps with");
    26.       $pos1=strpos($d," ",$pos+10);
    27.       $d=substr($d,$pos+10,$pos1-$pos-10);  // ищем и запоминаем информацию б количестве активных пользователей
    28.       @$fp=fsockopen($radio,$port,$err1,$err2,$to);  // открываем новый сокет
    29.       if ($fp)
    30.        {
    31.         fputs($fp,"GET /played.html HTTP/1.0\r\nUser-Agent: Mozilla/2.0\r\n\r\n");  // опять говорим серверу, что мы браузер и читаем содержимое страницы с историей композиций - played.html
    32.         $s=fgets($fp); $s=fgets($fp); $s=fgets($fp); $s=fgets($fp);  // переходим к строке с необходимой информацией
    33.         $pos=strpos($s,"<td>Played @</td>");
    34.         $pos=strpos($s,"<tr><td>",$pos);
    35.         $pos=strpos($s,"</td><td>",$pos);
    36.         $pos1=strpos($s,"<td>",$pos+9);
    37.         $s=substr($s,$pos+9,$pos1-$pos-9);  // ищем и читаем информацию об активной композиции
    38.  
    39.         $gt = explode(">", $s);
    40.         if ($gt[0] == "AD")
    41.          {
    42.           $s = "ничего не играет";
    43.          }  // если активной композиции нет, делаем вывод о том, что ничего не играет
    44.  
    45.         print "<font face=\"Verdana\" style=\"font-size: 11px;\">
    46.        Радио <a href=\"http://radio.ext.ru/playlist/radio.m3u?station=flexstyle&stream=128\" target=\"_blank\" style=\"color: #ff0000\" target=\"_blank\"><b>FS RAdio</b></a>:<p>
    47.        Сейчас на радио: <b>$s</b><br><p>
    48.        </b>Подключиться к радио: <a href=\"http://radio.ext.ru/playlist/radio.m3u?station=flexstyle&stream=128\" target=\"_blank\"><b>listen.pls</b></a>";
    49.         // выводим информацию
    50.        }
    51.      }
    52.    }
    53.   else  // если нам не удалось открыть сокет, делаем вывод о том, что сервер не запущен
    54.    {
    55.     print "<font face=\"Verdana\" style=\"font-size: 11px;\">
    56.    Сейчас сервер выключен
    57.   </font>";
    58.    }
    59.   return;
    60.  }
    61.  
    62. radio("213.219.245.180","4515");
    63.  
    64.  
    65. // так вызывается функция
    66.  
    67. ?>
    Что здесь нужно переделать, что бы реализовать автоматическое обновление?
    Спасибо за помощь.
     
  2. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
  3. fsradio

    fsradio Активный пользователь

    С нами с:
    22 янв 2007
    Сообщения:
    2
    Симпатии:
    0
    Угу, спасибо... Я наверное не догодался что это надо почитать...
    Только вот толку-то??? Там же нет конкретно того что мне надо!!!
    Лучше бы ничего не написал чем это...
     
  4. Ti

    Ti Активный пользователь

    С нами с:
    3 июл 2006
    Сообщения:
    2.378
    Симпатии:
    1
    Адрес:
    d1.ru, Екатеринбург
    поймите, Вы неадекватно себя ведете
    это форум по языку PHP, а не форум готовых скриптов
    здесь обсуждается как лучше, что лучше, как сделать, "не едут лыжи" и тде
    а не дайте дайте дайте
    или сделайте сделайте сделайте
    за спасибо спасибо спасибо

    а посему это для Вас