Forum forumweb.pl Strona Główna  
Oficjalne forum serwisu: kurshtml.boo.pl
Konkurs
Konkurs
   Regulamin
Regulamin
   FAQ
FAQ
   Szukaj
Szukaj
   Użytkownicy
Użytkownicy
   Grupy
Grupy
   IRC/czat
IRC/czat
   Facebook
Facebook
   Rejestracja
Rejestracja
 
Zmień swój profil  ::  Zaloguj się, by sprawdzić wiadomości  ::  Zaloguj



Zobacz następny temat
Zobacz poprzedni temat
Odpowiedz do tematu  Forum forumweb.pl Strona Główna » Porady i tutoriale
Autor Wiadomość
SilentMan
Przyjaciel forum
SilentMan

Płeć: Mężczyzna
Wiek: 24
Dołączył(a): 03 Mar 2004
Posty: 374
Skąd: Olsztyn / Trevelmond
Post Wysłany: 19.06.2005 17:55
[PHP] statystyki radia shoutcast + mini tpl
Zacytuj zaznaczone   ^

Wielu posiadaczy własnego radia, i strony www tego radia, pragnie znaleźć skrypt który pokazywałby na stronie różne informacje na temat stanu radia z danej chwili, np. informacje o ilości słuchaczy, o aktualnie granej piosence, czy też bitrate w jakim nadawana jest audycja, oraz o tym czy serwer jest w ogólle włączony. Niestety takowy skrypt jest bardzo trudno znaleźć, tak więc postanowiłem zaprezentować własne rozwiązanie.
Aby skrypt działał poprawnie, php nie może być w ustawieniu safe-mode: funkcja fsockopen musi być dostępna, a z doświadczenia wiem że większość darmowych serwerów blokuje tą funkcje.
Kod:   Zaznacz   Podgląd (X)HTML   Uruchom   Zapisz

<?php
//konfiguracja


$host = "localhost"; //adres serwera shoutcast
$port = "8000"; //port serwera shoutcast

//koniec konfiguracji

//nawiązujemy połączenie z serwerem
$fp = fsockopen("$host", "$port", $errno, $errstr, 30);
if (!
$fp) {
   echo
"$errstr ($errno)\n";
exit;
} else {

//jeśli połączenie się powiedzie, pobieramy zawartość pliku 7.html generowanego dynamicznie przez serwer shoutcast, wartość pliku przypisujemy zmiennej $page

fputs($fp,"GET /7.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n");
 while(!
feof($fp)) {
 
$page .= fgets($fp, 1000);
 }}
fclose($fp);

//zamykamy połączenie z serwerem


//usuwamy zbędne znaki, tak by pozostał sam ciąg z tablicą statystyk, poszczególne wartości oddzielone przecinkami przetwarzamy do tablicy za pomocą explode

$page = ereg_replace(".*<body>", "", $page);
 
$page = ereg_replace("</body>.*", ",", $page);
 
$numbers = explode(",",$page);
$connected=$numbers[1];
if(
$connected==1){
//sprawdzamy czy obecnie ktoś nadaje na tym serwerze, jeśli tak to przypisujemy zmiennej wartosc 'On' (c.d.n.)
$connected="On";
$current = $numbers[0];
$max = $numbers[3];
$bitrate = $numbers[5];
$title = $numbers[6];

//przypisujemy wartości zmiennych tablicy do zmiennych o odpowiednich tytułach (nie jest to krok wymagany ale ułatwia orientacje która komórka tablicy za jaką treść jest odpowiedzialna)
}
else{
// c.d. Jesli nikt nie nadaje na serwerze to dajemy wartosc off
$connected="Off";
}
//otwieramy plik szablonu, i wczytujemy cala jego zawartosc do zmiennej $fll
$File = fopen("tpl.txt", "r");
while(!
feof($File))
{
  
$new_line = fgets($File, 9999999);
$fll = "$fll $new_line";
}
fclose($File);
//zamykamy plik
$tpl = array('{connection}', '{currentlisteners}', '{maxlisteners}', '{bitrate}', '{songtitle}');
$tag = array("$connected", "$current", "$max", "$bitrate", "$title");
$fll = str_replace($tpl, $tag, $fll);
//dokonujemy zamiany tpl tagow na tekst wlasciwy, i drukujemy wynik do przegladarki
print "$fll";
?> 

W pliku tpl.txt należy przygotować szablon np. tabelkę:
Kod:   Zaznacz   Podgląd (X)HTML   Uruchom   Zapisz
<style type="text/css"><!--
td {font-family: Verdana; font-size: 10px; width: 50%; font-weight: bold}
--></
style>
<
table border="0" width="300" cellspacing="0" cellpadding="0">
  <
tr>
    <
td>Server status:</td>
    <
td>{connection}</td>
  </
tr>
  <
tr>
    <
td>Słuchaczy:</td>
    <
td>{currentlisteners}</td>
  </
tr>
  <
tr>
    <
td>Max słuchaczy:</td>
    <
td>{maxlisteners}</td>
  </
tr>
  <
tr>
    <
td>Jakość:</td>
    <
td>{bitrate}</td>
  </
tr>
  <
tr>
    <
td>Tytuł piosenki:</td>
    <
td>{songtitle}</td>
  </
tr>
</
table>
Dzięki temu mamy możliwość szybkiej modyfikacji sposobu 'podawania' statystyk radia na stronie www.[/code]
 
  
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora  
Numer Gadu-Gadu
3035238
 
Tlen.pl użytkownika
silent_man
 
 
 
 
 
 
 
FirefoxDebian1024x768
webmaniac
Użytkownik
webmaniac

Płeć: Mężczyzna
Wiek: 19
Dołączył(a): 21 Lis 2004
Posty: 451
Pomocy: 1
Skąd: Syców (Dolnośląskie)
Post Wysłany: 18.08.2005 09:35
Zacytuj zaznaczone   ^

Dorobiłem do Twojego skryptu jeszcze pozostałe argumenty, chociaż nie wiem jak zrobić "Title stream", a jest mi to potrzebne jak cholera Sad Pod spodem przedstawiam skrypt z dodanymi (chyba) trzema argumentami:

Kod:   Zaznacz   Podgląd (X)HTML   Uruchom   Zapisz
<?php
//konfiguracja


$host = "localhost"; //adres serwera shoutcast
$port = "8000"; //port serwera shoutcast

//koniec konfiguracji

//nawiązujemy połączenie z serwerem
$fp = fsockopen("$host", "$port", $errno, $errstr, 30);
if (!
$fp) {
   echo
"$errstr ($errno)\n";
exit;
} else {

//jeśli połączenie się powiedzie, pobieramy zawartość pliku 7.html generowanego dynamicznie przez serwer shoutcast, wartość pliku przypisujemy zmiennej $page

fputs($fp,"GET /7.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n");
 while(!
feof($fp)) {
 
$page .= fgets($fp, 1000);
 }}
fclose($fp);

//zamykamy połączenie z serwerem


//usuwamy zbędne znaki, tak by pozostał sam ciąg z tablicą statystyk, poszczególne wartości oddzielone przecinkami przetwarzamy do tablicy za pomocą explode

$page = ereg_replace(".*<body>", "", $page);
 
$page = ereg_replace("</body>.*", ",", $page);
 
$numbers = explode(",",$page);
$connected=$numbers[1];
if(
$connected==1){
//sprawdzamy czy obecnie ktoś nadaje na tym serwerze, jeśli tak to przypisujemy zmiennej wartosc 'On' (c.d.n.)
$connected="On";
$current = $numbers[0];
$rekord = $numbers[2];
$max = $numbers[3];
$unikalnych = $numbers[4];
$bitrate = $numbers[5];
$title = $numbers[6];

//przypisujemy wartości zmiennych tablicy do zmiennych o odpowiednich tytułach (nie jest to krok wymagany ale ułatwia orientacje która komórka tablicy za jaką treść jest odpowiedzialna)
}
else{
// c.d. Jesli nikt nie nadaje na serwerze to dajemy wartosc off
$connected="Off";
}
//otwieramy plik szablonu, i wczytujemy cala jego zawartosc do zmiennej $fll
$File = fopen("tpl.txt", "r");
while(!
feof($File))
{
  
$new_line = fgets($File, 9999999);
$fll = "$fll $new_line";
}
fclose($File);
//zamykamy plik
$tpl = array('{connection}', '{currentlisteners}', '{maxlisteners}', '{bitrate}', '{songtitle}', '{rekord}', '{unikalnych}');
$tag = array("$connected", "$current", "$max", "$bitrate", "$title", "$rekord", "$unikalnych");
$fll = str_replace($tpl, $tag, $fll);
//dokonujemy zamiany tpl tagow na tekst wlasciwy, i drukujemy wynik do przegladarki
print "$fll";
?>


PLIK TPL.txt

Kod:   Zaznacz   Podgląd (X)HTML   Uruchom   Zapisz
Status serwera: </b>{connection}</b><br><br>
Słuchaczy: <b>{currentlisteners} osób</b><bR><br>
Unikalnych: <b>{unikalnych}</b><br><br>
Max słuchaczy: <b>{maxlisteners} osób</b><br><br>
Rekord: <b>{rekord}</b><br><br>
Jakość: <b>{bitrate}kbps</b><br><br>
Tytuł piosenki: <b>{songtitle}</b><br><br>

 
  
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora  
Numer Gadu-Gadu
1568666
 
Tlen.pl użytkownika
webmaniac
 
 
 
 
Skype
 
OperaWinXP1152x864
Fbz
Gość





Post Wysłany: 22.08.2005 12:49
Zacytuj zaznaczone   ^

osobiscie proponuje przetwarzanie danych z "admin.cgi?mode=viewxml" kolega webmaniac rozwiaze w ten sposob swoj problem ;]
 
  
 
 
 
 
 
FirefoxWinXP1024x768
webmaniac
Użytkownik
webmaniac

Płeć: Mężczyzna
Wiek: 19
Dołączył(a): 21 Lis 2004
Posty: 451
Pomocy: 1
Skąd: Syców (Dolnośląskie)
Post Wysłany: 22.08.2005 14:51
Zacytuj zaznaczone   ^

Problem już dawno rozwiązałem ale dziękuję za radę... jeżeli ktoś będize potrzebował to umieszczę sposób na ten problem Smile
 
  
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora  
Numer Gadu-Gadu
1568666
 
Tlen.pl użytkownika
webmaniac
 
 
 
 
Skype
 
MSIEWinXP1152x864
Gosc
Gość





Post Wysłany: 27.09.2006 17:08
Zacytuj zaznaczone   ^

Kiedy serwer jest calkowicie wylaczony skrypt nie dziala...
Jak to naprawic
 
  
 
 
 
 
 
FirefoxWinXP1024x768
michal123k
Gość





Post Wysłany: 07.10.2006 18:47
fgdhgfdh
Zacytuj zaznaczone   ^

jak skrypt może działać jeżeli radio jest wyłączone?
 
  
 
 
 
 
 
OperaWinXP1152x864
michal123k
Gość





Post Wysłany: 10.10.2006 16:31
title
Zacytuj zaznaczone   ^

Ja tego nie rozumiem wpuisałem host wpisałem port w pola a tu wyskakuje mi błąd że coś jest żle
Cytat:
Warning: fsockopen() expects parameter 2 to be long, string given in /var/www/sites/yoyo.pl/r/a/radio-wolominos/radiowol/radio.php on line 11
()

 
  
 
 
 
 
 
OperaWinXP1152x864
fdsgfdsg
Gość





Post Wysłany: 10.10.2006 16:33
dsfgdsg
Zacytuj zaznaczone   ^

Kto wie na jakim serwerze ten skrypt by podeszedł
 
  
 
 
 
 
 
OperaWinXP1152x864
Mad
Gość





Post Wysłany: 28.10.2006 19:57
Zacytuj zaznaczone   ^

A ma ktos taki skrpt na HTML ??Razz bym byl wdzieczny
 
  
 
 
 
 
 
FirefoxWinXP1024x768
stray
Moderatorka
stray

Płeć: Kobieta
Dołączył(a): 03 Cze 2006
Posty: 13318
Pomocy: 349
Post Wysłany: 28.10.2006 20:01
Zacytuj zaznaczone   ^

html nie jest jezykiem skryptowym wiec nie ma takiej mozliwosci
 
  
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora  
 
 
 
 
 
 
 
 
FirefoxWinXP1024x768
MadHack
Gość





Post Wysłany: 29.10.2006 08:52
Zacytuj zaznaczone   ^

No szkoda Sad bo na PHP sie wogule nie znam i tamte skrypty co podal kolega SilentMan to mi cos nie chca chodzic :/ ...
 
  
 
 
 
 
 
FirefoxWinXP1024x768
gosc
Gość





Post Wysłany: 05.11.2006 11:31
Zacytuj zaznaczone   ^

a co zrobic aby zliczlo z dwoch serwerow??
 
  
 
 
 
 
 
FirefoxWinXP1152x864
webmaniac
Użytkownik
webmaniac

Płeć: Mężczyzna
Wiek: 19
Dołączył(a): 21 Lis 2004
Posty: 451
Pomocy: 1
Skąd: Syców (Dolnośląskie)
Post Wysłany: 05.11.2006 12:01
Zacytuj zaznaczone   ^

Na chłopski rozum - Uruchomić 2 skrypty, by oddawały zmiennie różnych nazw i napisać skrypt łączący.
 
  
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora  
Numer Gadu-Gadu
1568666
 
Tlen.pl użytkownika
webmaniac
 
 
 
 
Skype
 
OperaWinNET1152x864
magik111
Użytkownik


Płeć: Mężczyzna
Wiek: 19
Dołączył(a): 10 Cze 2006
Posty: 459
Skąd: Duszniki Zdrój
Post Wysłany: 05.11.2006 14:09
Zacytuj zaznaczone   ^

no a moglby ktos napisac?? Very Happy
 

_________________
"Są kobiety których kupić nie można za wszystkie inne zapłacisz kartą MASTER CARD"

Mattz Music - Producent muzyki Dance, House, Electro
  
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora  
Numer Gadu-Gadu
9449351
 
Tlen.pl użytkownika
magik111
 
 
 
 
Skype
 
FirefoxWinXP1152x864
Gośc
Gość





Post Wysłany: 11.12.2006 14:51
Skrypt
Zacytuj zaznaczone   ^

Witam ja jestem kompletnym ciemniakiem niedawno założyłem sobie jportala i robie powoli www .... mam 2 problemy ...
Pytania:
1.Gdzie wkleić ten skrypt statystyk, i czy to sie wkleja gdzieś tam w panelu admina jak sie edytuje strone czy trzeba to wkleić do edytora php i wrzucić na strone ?? ;/
2. Jak sie robi dane działy np ja nie chce miec tak jak jest od początku Strona główna , logowanie,forum itp itd ... tylko ja np chciałbym mieć inne działy i inną zawartośc w nich np ekipa i tam np swój tekst i zdjęcia itp. ??
 
  
 
 
 
 
 
FirefoxWinXP1024x768
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Szybka odpowiedź
Kod potwierdzający
Użytkownik
Temat
Very Happy Smile Sad Surprised Shocked Confused Cool Laughing Mad Razz Embarassed Crying or Very sad Evil or Very Mad Twisted Evil Rolling Eyes Wink Exclamation Question Idea Arrow Neutral Mr. Green + - *
  

  Zamknij Tagi
 
 

Zobacz następny temat
Zobacz poprzedni temat
Nie możesz pisać nowych tematów
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

RSS Przełącz do wersji mobilnej

[trening.net.pl]
[www.olympiquem.pl] [www.anno.xon.pl]
Powered by phpBB © 2001, 2005 phpBB Group
Uruchamianie kodu dzięki Sphere Research Labs w ramach ideone.com
Style created freely by Cyber-MX :: Modified by logeen :: Sponsor: Biuro Rachunkowe
katalog stron
katalog stron
kbkteam.net
bajkar

www.bajkar.sitpchem…
Klimatyzacja
Clima Cool
www.climacool.pl
systemy CMS
Profesjonalne systemy CMS !
www.govern.pl
Sklep odżywki
Sklep odżywki
www.megapower.pl