Skocz do zawartości

Statystyki


Rafiki

Rekomendowane odpowiedzi

Otoz za pomoca webinside napisalem klase do odczytywania statystyk z servera shoutcast, zmodyfikowalem ja wedlug swoje uznania i jeszcze musze dodac jedna rzecz zwiazana z rekordem aby sie zapisywal do pliku bo po restarcie servera shoutcast rowniez i rekordowy wynik sluchaczy jest resetowany... Ale nie chodzi oto chodzi o to ze klasa wyglada 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
*/

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');
	fputs($this -> shoutcast_connect, 'User-Agent: Mozilla\r\n\r\n');

	while ( !feof($this -> shoutcast_connect) )
	{
		$this -> shoutcast_contents .= fgets($this -> shoutcast_connect);
	}

	fclose($this -> shoutcast_connect);

	if ( stristr($this -> shoutcast_contents, "HTTP/1.0 200 OK") != true )
	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') )
{
	print 'Nazwa serwera:' . $this -> shoutcast_echo('SERVERTITLE') . '<br />';
} else {
print "Serwer jest włączony, ale aktualnie nie ma żadnej audycji.";
}
} else {
echo 'Serwer jest wyłączony.';
}

?>

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 :/

Odnośnik do komentarza
Udostępnij na innych stronach

Otoz za pomoca webinside napisalem klase
Proponuje zwróć się z tym problemem do pomocników z webinside może mają większe doświadczenie w tego typu zagadnieniach.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności