dave-sp 0 Опубликовано: 12 сентября 2007 Рассказать Опубликовано: 12 сентября 2007 (изменено) Встроил модуль по выводу информации с SHOUTcast но если название трека большое то страница сдвигается и появляется полоса прокручивания... вот код <?php /* Количество символов в названии новости */ define ("LIMITTITL", "55"); $to = 0.05; // таймаут для открытия сокета function radio($radio,$port) { global $to; // объявляем переменную $to внутри функции @$fs=fsockopen($radio,$port,$err1,$err2,$to); // открываем сокет на радио сервер if ($fs) // если сокет открыт, то… { // этим заголовком мы даем серверу понять то, что мы браузер а не какой-то там винамп;) , и читаем содержимое главной страницы fputs($fs,"GET / HTTP/1.0\r\nUser-Agent: Mozilla/2.0\r\n\r\n"); $d=fgets($fs); $d=fgets($fs); $d=fgets($fs); $d=fgets($fs); // читаем строку с содержимым главной страницы if (strpos($d,"Server is currently down")) // если находим строку "Server is currently down", то делаем вывод, что сервер выключен { echo "<font face=\"Verdana\" style=\"font-size: 11px;\"> Радио <a href=\"http://$radio:$port\" style=\"color: #ff0000\" target=\"_blank\"><b>$radio:$port</b></a>: <br>В данный момент сервер не запущен </font>"; // сообщаем пользователю о том что сервер выключен } else // в противном случае делаем вывод о том, что сервер включен { $pos=strpos($d,"kbps with"); $pos1=strpos($d," ",$pos+10); $d=substr($d,$pos+10,$pos1-$pos-10); // ищем и запоминаем информацию б количестве активных пользователей @$fp=fsockopen($radio,$port,$err1,$err2,$to); // открываем новый сокет if ($fp) { fputs($fp,"GET /played.html HTTP/1.0\r\nUser-Agent: Mozilla/2.0\r\n\r\n"); // опять говорим серверу, что мы браузер и читаем содержимое страницы с историей композиций - played.html $s=fgets($fp); $s=fgets($fp); $s=fgets($fp); $s=fgets($fp); // переходим к строке с необходимой информацией $pos=strpos($s,"<td>Played @</td>"); $pos=strpos($s,"<tr><td>",$pos); $pos=strpos($s,"</td><td>",$pos); $pos1=strpos($s,"<td>",$pos+9); $s=substr($s,$pos+9,$pos1-$pos-9); // ищем и читаем информацию об активной композиции $gt = explode(">", $s); if ($gt[0] == "AD") { $s = "ничего не играет"; } // если активной композиции нет, делаем вывод о том, что ничего не играет print "<font face=\"Verdana\" style=\"font-size: 11px;\"> Радио <a href=\"http://$radio:$port\" target=\"_blank\" style=\"color: #ff0000\" target=\"_blank\"><b>$radio:$port</b></a>:<p> Сейчас на радио: <b>$s</b><br> Слушателей: <b>$d</b><p> </b>Подключиться к радио: <a href=\"http://$radio:$port/listen.pls\" target=\"_blank\"><b>listen.pls</b></a>"; // выводим информацию } } } else // если нам не удалось открыть сокет, делаем вывод о том, что сервер не запущен { print "<font face=\"Verdana\" style=\"font-size: 11px;\"> Радио <a href=\"http://$radio:$port\" style=\"color: #ff0000\" target=\"_blank\"><b>$radio:$port</b></a>: <br>В данный момент сервер не запущен </font>"; } return; } radio("10.1.11.96","8000"); print "<hr width=\"100%\" size=\"1\" color=\"#7E2B01\">"; // так вызывается функция ?> где и что надо прописать чтоб появился лимит на кол-во символом, в php я полный 0 так что можете глумиться =) Изменено 12 сентября 2007 пользователем dave-sp Ссылка на сообщение Поделиться на других сайтах
dave-sp 0 Опубликовано: 12 сентября 2007 Рассказать Опубликовано: 12 сентября 2007 Автор все всем спасибо все свободны! Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения