<?php /* 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 */ class shoutcast { public function __construct ($host, $port, $password) { $this -> shoutcast_host = $host; $this -> shoutcast_port = $port; $this -> shoutcast_password = $password; } public function shoutcast_connect () { $this -> shoutcast_connect = fsockopen($this -> shoutcast_host, $this -> shoutcast_port, $errno, $errstr, 5); if ( !$this -> shoutcast_connect ) { return false; } else { fputs($this -> shoutcast_connect, 'GET /admin.cgi?pass=' . $this -> shoutcast_password . '&mode=viewxml HTTP/1.0\r\n'); { } return false; $this -> shoutcast_xml = xml_parser_create(); if ( !xml_parse_into_struct($this -> shoutcast_xml, $this -> shoutcast_contents, $this -> shoutcast_values, $this -> shoutcast_index) ) return false; xml_parser_free($this -> shoutcast_xml); return true; } } public function shoutcast_echo ($parameters) { return( $this -> shoutcast_values[$this -> shoutcast_index[$parameters][0]]["value"] ); } } ?>
A wykorzystuje ja tak:
<?php /* 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 __autoload($class) { include_once 'class.'.$class.'.php'; } $stat = new shoutcast('84.16.242.108', '8000', 'haslo'); if ( $stat -> shoutcast_connect() ) { if ( $stat -> shoutcast_echo('STREAMSTATUS') ) { } else { } } else { } ?>
W komentarzach podalem elementy jakie moze odczytywac skrypt....
Ale blad jest w tym ze przy wywolaniu klasy i zdefiniowaniu danych do laczenia nie dziala :/ skrypt laduje sie dosc dlugo... oj bardzo dlugo i wywala Serwer jest wylaczony.... Kombinowalem aby zobaczyc gdzie jest blad i do jakiego momenty dochodzi skrypt... otoz dochodzi do warunku if ( !$this -> shoutcast_connect ) i wlasnie chodzi oto ze shoutcast_connect jest spelnione....
Kombinowalem dalej i zawuzaylem ze po wywaleniu petli while niby jest ok nie wywala bledu ale ukazuje sie strona bez tresci :/