Stworzylem taka klase do statystyk shoutcast
<?php /* * Autor: Rafał Robakowski * Kontakt: rafal.robakowski@gmail.com */ class SHOUTcast { /* * Łączenie z serwerem shoutcast * i pobieranie zawartosci pliku xml */ function connect($host, $port, $pass) { if (!$fp) { return false; } else { } return $xml; } } /* * Zwracanie danej pozycji, oto ich lista: * CURRENTLISTENERS - ilość aktualnych słuchaczy * PEAKLISTENERS - dotychczasowy rekord liczby słuchaczy * MAXLISTENERS - maksymalna ilość słuchaczy * SERVERGENRE - rodzaj serwera * SERVERURL - adres URL strony * SERVERTITLE - nazwa serwera * SONGTITLE - nazwa utworu aktualnie odtwarzanego * IRC - identyfikator IRC * AIM - identyfikator AIM * ICQ - identyfikator ICQ * STREAMSTATUS - status strumienia * BITRATE - jakość nadawania */ function show($item) { $show = $xml; return $show; } /* * Zwracanie rekordu radia */ function show_rekord($filename) { $file = $filename; $peak = $this -> show('PEAKLISTENERS'); $current = $this -> show('CURRENTLISTENERS'); if ( $current <= $peak ) { include_once($file); return $peak_file; } else { $new = '<?php $peak_file = '.$current.'; ?>'; return $current; } else { return 'Wystąpił bład, sprawdź chmody pliku rekord.txt'; } } } } /* * Przykład wykorzystania */ /* $statystyki = new SHOUTcast(); if( !$statystyki -> connect('127.0.0.1', '8000', 'haslo')) echo 'Serwer jest wyłączony'; else { if( $statystyki -> show('STREAMSTATUS') == 0 ) echo 'Aktualnie nikt nie nadaje'; else { echo '<table border="0" cellspacing="0" cellpadding="0">'; echo '<tr><td>Audycja: </td><td>' . $statystyki -> show('BITRATE') . '</td></tr>'; echo '<tr><td>Prowadzi: </td><td>' . $statystyki -> show('SERVERGENRE') . '</td></tr>'; echo '<tr><td>Godziny: </td><td>' . $statystyki -> show('AIM') . '</td></tr>'; echo '<tr><td>Słucha: </td><td>' . $statystyki -> show('BITRATE') . '</td></tr>'; echo '<tr><td>Rekord: </td><td>' . $statystyki -> show_rekord('rekord/rekord_mix.php') . '</td></tr>'; echo '</table>'; } } */ ?>
Wywoluje ja w podobny sposob jak jest na samym dole w komentarzu jednakze dwa razy na tej samej stronie. Oczywiscie od nowa pod inna nazwa zmiennej definiuje klase ale mimo to w obydwoch miejscach wyswietla mi sie to samo info z pierwszego serwera :/ Wyglada to tak:
JAKIS KOD HTML <?php /* * Statystyki kanalu MIX */ include_once('stat.php'); $statystyki_mix = new SHOUTcast(); if( !$statystyki_mix -> connect('IP', 'PORT', 'HASLO')) else { if( $statystyki_mix -> show('STREAMSTATUS') == 0 ) else { echo '<tr><td>Rekord: </td><td>' . $statystyki_mix -> show_rekord('rekord/rekord_mix.php') . '</td></tr>'; } } ?> JAKIS KOD HTML <?php /* * Statystyki kanalu CLUB */ $statystyki_club = new SHOUTcast(); if( !$statystyki_club -> connect('IP', 'PORT', 'HASLO')) else { if( $statystyki_club -> show('STREAMSTATUS') == 0 ) else { echo '<tr><td>Rekord: </td><td>' . $statystyki_club -> show_rekord('rekord/rekord_club.php') . '</td></tr>'; } } ?> JAKIS KOD HTML
Oczywisce zamiast IP, PORT i HASLO wpisuje to co trzeba dla obydwoch serwerow oczywiscie inne dane takie jakie serwer posiada.
Jednakze nie wiem gdzie tkwi blad ze drugie statystyki wyswietlaja to samo co pierwsze jedynie rozni sie rekord ktory jest odczytywany z osobnego pliku.
Przy okazji milo bedzie jak ocenicie ta klase i wytkniecie bledy
