<?php $data = file_get_contents('http://localhost:88/status.xsl?mount=/live'); function antara($string, $start, $end){ $string = " ".$string; $ini = strpos($string,$start); if ($ini == 0) return ""; $ini += strlen($start); $len = strpos($string,$end,$ini) - $ini; return substr($string,$ini,$len); } if(antara($data, "Mount started:</td>\n<td class=\"streamdata\">","</td>") ==''){$data = file_get_contents('http://localhost:88/status.xsl?mount=/nonstop');} $data = iconv("utf-8", "cp1251", $data); $title = antara($data, "Stream Title:</td>\n<td class=\"streamdata\">","</td>"); $description = antara($data, "Stream Description:</td>\n<td class=\"streamdata\">","</td>"); $content_type = antara($data, "Content Type:</td>\n<td class=\"streamdata\">","</td>"); $Mount_started = antara($data, "Mount started:</td>\n<td class=\"streamdata\">","</td>"); $Bitrate = antara($data, "Bitrate:</td>\n<td class=\"streamdata\">","</td>"); $Current_listeners = antara($data, "Current Listeners:</td>\n<td class=\"streamdata\">","</td>"); $Peak_listeners = antara($data, "Peak Listeners:</td>\n<td class=\"streamdata\">","</td>"); $Stream_genre = antara($data, "Peak Listeners:</td>\n<td class=\"streamdata\">","</td>"); $Stream_url = antara($data, "Stream URL:</td>\n<td class=\"streamdata\">","</td>"); $Current_song = antara($data, "Current Song:</td>\n<td class=\"streamdata\">","</td>"); $hellp_curr_listeners = antara($hellp, "Сейчас слушают:</td>\n<td class=\"streamdata\">","</td>"); $hellp_peak_listeners = antara($hellp, "Максимум было</td>\n<td class=\"streamdata\">","</td>"); $Curr_listens=$Current_listeners2+$Current_listeners+$hellp_curr_listeners; $Peak_listens=$Peak_listeners2+$Peak_listeners+$hellp_peak_listeners; $staylst=$Curr_listens+1; echo '<span style="font-size: 0.72em; font-family:Trebuchet MS, Tahoma, Arial, sans-serif; color:#3090c3"><b>Название радио:</b> '.$title.' <br> <b>За пультом:</b> '.$description.' <br> <b>Битрейт:</b> '.$Bitrate.' <br> <b>Сейчас слушают:</b> '.$Curr_listens.' <br> <b>Максимум слушало:</b> '.$Peak_listens.' <br> <b>Сейчас в эфире:</b> '.$Current_song.' <br> <br> <center><input type="button" value="Слушать радио" onclick="location.href=\'http://xoiniki.com:88/live.m3u\'" /></center>'; ?>
<?php //данные для парсинга слушателей всех маунтов //можно написать их здесь сколько угодно $mount[0] = '[url]http://188.40.124.23:8206/status2.xsl?mount=/radio[/url]'; $mount[1] = '[url]http://188.40.124.23:8206/status2.xsl?mount=/playlist[/url]'; $mount[2] = '[url]http://188.40.124.23:8206/status2.xsl?mount=/nonstop[/url]'; //считаем сколько у нас маунтов с которых считаем слушателей $mounts = count($mount); //данные для парсинга плейлистов для получения текущего исполнителя и песни и описания потока //записываем их в таком порядке: сперва прямой эфир, потом фоллбэки //можно написать их здесь сколько угодно $xml[0] = "[url]http://188.40.124.23:8206/radio.xspf[/url]"; $xml[1] = "[url]http://188.40.124.23:8206/playlist.xspf[/url]"; $xml[2] = "[url]http://188.40.124.23:8206/nonstop.xspf[/url]"; //считаем сколько у нас маунтов с которых берем теги $xmls = count($xml); //считаем всех слушателей $i = 0; while($i<$mounts) { $text= file_get_contents($mount[$i]); $mass=explode(",", $text); $listens += $mass [14]; $i ++; } //парсим по очереди все маунты пока не добьемся положительного результата $i = 0; while($stream['descr'] =='') { $xml1 = simplexml_load_file($xml[$i]); //обращение к xspf файлу текущего потока $stream['creator'] = $xml1->trackList->track->creator; //выбираем значение из <trackList><track><creator> $stream['title'] = $xml1->trackList->track->title; $ano = $xml1->trackList->track->annotation; //выбираем значение из <trackList><track><annotation> $mss=explode("\n", $ano); //разбиваем знаечение на масив (т.к. там много чего а нам надо тока строку "Stream Description") $stream['descr']=substr($mss[1],20); //строка "Stream Description" вторая, (не забываем, что счет с нуля, т.е. это будет 1) //берем значение начиная с 20 символа чтобы не захватывать "Stream Description:" $i ++; //если все перепарсили а данных нет останавливаеся с ошибкой if($i>$xmls){ $stream['descr'] = "offline"; } } include "max.php"; //для отображения пикового значения слушателей if ($listens>$max) { $txtout="<?php\r\n".'$max='.$listens. ";\r\n?>"; $fp = fopen ("max.php", "w"); fwrite($fp,$txtout); fclose($fp); $max=$listens; } echo $stream['creator'] . " - "; // вывод имени исполнителя echo $stream['title'] . "<br>"; //вывод названия песни echo "Слушателей: ".$listens . "<br>"; //вывод кол-ва слушателей //echo "Max listens: ".$max . "<br>"; //вывод пикового к-ва слушателей, раскомментировать, если нужен echo $stream['descr'] . "<br>"; //вывод описания текущего потока ?>
<?php $file_name='http://www.domain.com:8000/status2.xsl?mount=/listen'; $r=fopen($file_name,'r'); $text=fread($r,1000); fclose($r); $mass=explode(",", $text); $current=$mass [16]; echo $current; ?>
<?php $data = file_get_contents('http://xoiniki.com:88/status.xsl?mount=/radio'); function antara($string, $start, $end){ $string = " ".$string; $ini = strpos($string,$start); if ($ini == 0) return ""; $ini += strlen($start); $len = strpos($string,$end,$ini) - $ini; return substr($string,$ini,$len); } if(antara($data, "Mount started:</td>\n<td class=\"streamdata\">","</td>") ==''){$data = file_get_contents('http://localhost:88/status.xsl?mount=/nonstop');} $Current_song = antara($data, "Current Song:</td>\n<td class=\"streamdata\">","</td>"); $Curr_listens=$Current_listeners2+$Current_listeners+$hellp_curr_listeners; $Peak_listens=$Peak_listeners2+$Peak_listeners+$hellp_peak_listeners; $staylst=$Curr_listens+1; echo ''.$Current_song.''; ?>
if(antara($data, "Mount started:</td>\n<td class=\"streamdata\">","</td>") ==''){$data = file_get_contents('http://localhost:88/status.xsl?mount=/nonstop');}