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: 373
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
Gość2
Gość





Post Wysłany: 04.04.2007 13:50
Status radia
Zacytuj zaznaczone   ^

Witam , mam problem żeby umieścić status radia, jestem w tym cienki, czy ktoś może mi pomuc? dokłądnie chodzi mi o to
- ilu słuchaszy
-ilu osob online
-Jaki Dj gra
-i rekord słuchaczy;) kto może mi jakoś pomuc? byłbym wdzięczny
pzdr
 
  
 
 
 
 
 
MSIEWinXP1152x864
GOŚĆ :|
Gość





Post Wysłany: 27.06.2007 19:41
Jak zrobić stadystyki własnego radia internetowego ??
Zacytuj zaznaczone   ^

Neutral Zrobiłem tak jak powyżej czyli : Neutral

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

$host
= "xpx.pl";
$port = "6005";


$fp = fsockopen("$host", "$port", $errno, $errstr, 30);
if (!
$fp) {
   echo
"$errstr ($errno)\n";
exit;
} else {

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);

$page = ereg_replace("*.<body>", "", $page);
 
$page = ereg_replace("</body>.*", ",", $page);
 
$numbers = explode(",",$page);
$connected=$numbers[1];
if(
$connected==1){

$connected="On";
$current = $numbers[0];
$max = $numbers[3];
$bitrate = $numbers[5];
$title = $numbers[6];


}
else{

$connected="Off";
}

$File = fopen("tpl.txt", "r");
while(!
feof($File))
{
  
$new_line = fgets($File, 9999999);
$fll = "$fll $new_line";
}
fclose($File);

$tpl = array('{connection}', '{currentlisteners}', '{maxlisteners}', '{bitrate}', '{songtitle}');
$tag = array("$connected", "$current", "$max", "$bitrate", "$title");
$fll = str_replace($tpl, $tag, $fll);

print
"$fll";
?>


(jak jest źle niech ktoś to poprawi... Confused )

Niewiem teraz wykorzystać te dane żebym miał stadystyki na własnej stronie... czyli jaki mam zrobić załącznik do tej konfiguracji... w języku html ??? czy php ?? Licze że mi pomorzecie... Smile Very Happy Najlepiej żeby ktoś na tym forum podał mi całe źrudło do załącznika, i pod jaką nazwą ma być zapisany.... Licze na was Razz Z góry dzięki.........


mój kontakt - gg 9190102
 
  
 
 
 
 
 
FirefoxWin981024x768
Gość ;| (przemasss)
Gość





Post Wysłany: 04.07.2007 17:14
Już wiem jak to zrobić :D
Zacytuj zaznaczone   ^

Nie utrudniajcie sobie życia... już sam się skumałem o co chodzi Smile Smile Smile

Dla tych tkórzy nie wiedzą jak założyć radio ja wytłómacze w 2 krokach Smile

1. Tworzymy plik (w zwykłym notatniku) *.php i następnie w tekście poniżej zmieniamy to :

$sc[host] = "host (np. localhost)";
$sc[port] = port (np. 8000) ;

i wklejamy do zmieniony tekst do utworzonego pliku *.php

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Kod:   Zaznacz   Podgląd (X)HTML   Uruchom   Zapisz
<center>
<?
  
$sc[czas]       =   180;
  
$sc[host]       =   "host (np. localhost)";
  
$sc[port]       =   port (np. 8000) ;
 
$sc[template]   =   " Zasilanie:<b> [status]</b><br>Opis :<b>[dj]</b><br>Prowadzi:<b> [genre] </b><br>Gra od/do:<b>[gg]</b><br>Slucha :<b> [ile] osób</b><br>";
#   $sc[template]   =   "<b>Status (on/off/err) :</b> [status]<br><b>GG DJ-a:</b> [gg]<br><b>Dj:</b> [genre]<br><b>Ilu sluchaczy aktualnie/maksymalnie/peak:</b> [ile]/[max]/[peak]<br>";




?>
<html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<
META HTTP-EQUIV="Refresh" CONTENT="<?=$sc[czas]?>; URL="">
</head>
<body>
<font color="
black" face="arail" size="2">
<?
if($fp = fsockopen($sc[host], $sc[port]))
{
fputs($fp,"
GET /index.html HTTP/1.0\r\nUser-Agent: XML Getter (Mozilla Compatible)\r\n\r\n");
fgets($fp);fgets($fp);fgets($fp);
       while(!feof($fp)) $in.=strip_tags(fgets($fp));
fclose($fp);
  # echo $in;

//  [status]
   $m[0]="
Server is currently";
   $m[1]="";
   $mp[0]=strpos($in,$m[0]);
   $mp[1]=@strpos($in,$m[1]);
   $ml[0]=strlen($m[0]);
   $ml[1]=strlen($m[1]);

   $tmp[1]=explode( " " , trim( substr( $in , $mp[0] + $ml[0] , 5 ) ) );

   if( $tmp[1][0] == "
up" )
       $dat[status] = "
on";
   elseif( $tmp[1][0] == "
down" )
       $dat[status] = "
off";
   else
       $dat[status] = "
err";

   if($dat[status]=="
on")
   {
   //  [dj]
       $m[0]="
Stream Title:";
       $m[1]="
Content Type:";
       $mp[0]=strpos($in,$m[0]);
       $mp[1]=strpos($in,$m[1]);
       $ml[0]=strlen($m[0]);
       $ml[1]=strlen($m[1]);

       $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1] ) );

       if( $tmp[1] ) $dat[dj] = $tmp[1];
       else $dat[dj] = "
err";

   //  [gg]
       $m[0]="
Stream AIM:";
       $m[1]="
Stream IRC:";
       $mp[0]=strpos($in,$m[0]);
       $mp[1]=strpos($in,$m[1]);
       $ml[0]=strlen($m[0]);
       $ml[1]=strlen($m[1]);

       $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1] ) );

       if( $tmp[1] ) $dat[gg] = $tmp[1];
       else $dat[gg] = "
err";

   //  [genre]
       $m[0]="
Stream Genre:";
       $m[1]="
Stream URL:";
       $mp[0]=strpos($in,$m[0]);
       $mp[1]=strpos($in,$m[1]);
       $ml[0]=strlen($m[0]);
       $ml[1]=strlen($m[1]);

       $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-2 ) );

       if( $tmp[1] ) $dat[genre] = $tmp[1];
       else $dat[genre] = "
err";

   //  [ile]
       $m[0]="
kbps with";
       $m[1]="
listeners";
       $mp[0]=strpos($in,$m[0]);
       $mp[1]=strpos($in,$m[1]);
       $ml[0]=strlen($m[0]);
       $ml[1]=strlen($m[1]);

       $tmp[1]=explode( " " , trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-2 ) ) );

       if( $tmp[1] ) $dat[ile] = $tmp[1][0];
       else $dat[ile] = "
err";

   //  [max]
       $m[0]="
kbps with";
       $m[1]="
listeners";
       $mp[0]=strpos($in,$m[0]);
       $mp[1]=strpos($in,$m[1]);
       $ml[0]=strlen($m[0]);
       $ml[1]=strlen($m[1]);

       $tmp[1]=explode( " " , trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-2 ) ) );

       if( $tmp[1] ) $dat[max] = $tmp[1][2];
       else $dat[max] = "
err";

   //  [peak]
       $m[0]="
Listener Peak:";
       $m[1]="
Average";
       $mp[0]=strpos($in,$m[0]);
       $mp[1]=strpos($in,$m[1]);
       $ml[0]=strlen($m[0]);
       $ml[1]=strlen($m[1]);

       $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-7) );

       if( $tmp[1] ) $dat[peak] = $tmp[1];
       else $dat[peak] = "
err";


   }
}
else
{
   $dat=array();
   $dat[status]="
err";
}

$co             =   array('[status]','[dj]','[gg]','[genre]','[ile]','[max]','[peak]');
$naco           =   array($dat[status],$dat[dj],$dat[gg],$dat[genre],$dat[ile],$dat[max],$dat[peak]);
$sc[template]   =   str_replace($co,$naco,$sc[template]);

echo $sc[template];
?>
</font>
</body>
</html><BR>
<a href=http://host:port/listen.pls>
<font size=2><b>Kliknij by posłuchać</b></font></a></center><br><br>


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2. Teraz ten plik *.php wrzucamy na server ftp... i otwieramy w przeglądarce http://(twoja nazwa strony).pl/*.php

Uwaga !!! Żeby ten skrypt chodził musisz najpierw włączyć radio w winampie Laughing



Już teraz napewno sobie poradisz z dostosowaniem tego skryptu do własnej strony internetowej, życze powodzenia Very Happy

Mój kontakt :

gg - 9190102

www - http://redstacja.dbv.pl
 
  
 
 
 
 
 
MSIEWin981024x768
Piter1992
Użytkownik
Piter1992

Płeć: Mężczyzna
Dołączył(a): 26 Lut 2005
Posty: 562
Skąd: Rumia
Post Wysłany: 09.08.2007 14:29
Zacytuj zaznaczone   ^

Witajcie Wink

Host: bluedog.wavestreamer.com
Port: 6623
Pass: 786856796^&$&%*%%$%

Oto moje dane do serwera shoutcast...
Kod:   Zaznacz   Podgląd (X)HTML   Uruchom   Zapisz
<?php
//konfiguracja


$host = "http://bluedog.wavestreamer.com"; //adres serwera shoutcast
$port = "6623"; //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";
?> 

Tak wypełniłem 1 plik u mnie "index.php".
Tpl.txt bez zmian.
http://piter1992.yoyo.pl/radiostat/index.php
Taki efekt...Co robić ??
 

_________________
www.imagination.info.pl - IMAGINATION TV

236175_l.gif236176_l.gif Tańczymy...1...2....3 Very Happy
  
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora  
Numer Gadu-Gadu
19622488
 
 
 
 
 
 
 
 
FirefoxWin98800x600
staś
Użytkownik


Płeć: Mężczyzna
Wiek: 21
Dołączył(a): 08 Sie 2007
Posty: 1
Skąd: Białystok
Post Wysłany: 10.08.2007 03:47
Zacytuj zaznaczone   ^

@piter1992

gdybyś przeczytał pierwszy post byś wiedział, że yoyo.pl nie obsługuje fsockopen
 
  
Zobacz profil autora Wyślij prywatną wiadomość  
 
 
 
 
 
 
 
 
FirefoxWinXP1280x1024
Przemasss
Gość





Post Wysłany: 25.08.2007 20:45
Pomogę w statystykach !
Zacytuj zaznaczone   ^

Jeśli chce mieć ktoś statystyki na własne radio internetowe proszę o kontakt ze mną :

gg - 9190102

ps. Potrafie zrobić każdy rodzaj statystyk Cool

Dopisala stray
regulamin pkt 2, prosze pamietac na przyszlosc i nie wstawiac tylu twarzy

 
  
 
 
 
 
 
MSIEWin981024x768
Przemasss
Gość





Post Wysłany: 03.09.2007 18:01
Pomogę w statystykach !
Zacytuj zaznaczone   ^

Anonymous napisał(a):
Jeśli chce mieć ktoś statystyki na własne radio internetowe proszę o kontakt ze mną :

gg - 9190102

ps. Potrafie zrobić każdy rodzaj statystyk Cool

Dopisala stray
regulamin pkt 2, prosze pamietac na przyszlosc i nie wstawiac tylu twarzy


UWAGA! - Przez okres szkoły nie pomagam w statystykach !!! Wink
 
  
 
 
 
 
 
MSIEWin981024x768
Freesman
Gość





Post Wysłany: 26.03.2008 13:20
Zacytuj zaznaczone   ^

A dbv.pl obsługuje?? ;/ ??
 
  
 
 
 
 
 
OperaWinXP1024x768
tmq
Użytkownik


Płeć: Mężczyzna
Dołączył(a): 13 Lut 2008
Posty: 21
Pomocy: 1
Skąd: Brzesko
Post Wysłany: 26.03.2008 15:33
Zacytuj zaznaczone   ^

Freesman - phpinfo()
 
  
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email Odwiedź stronę autora  
Numer Gadu-Gadu
4624633
 
 
 
 
 
 
 
 
OperaWinXP1152x864
palka1
Gość





Post Wysłany: 27.03.2008 22:04
Zacytuj zaznaczone   ^

A jak to zrobić w Jportal ?
 
  
 
 
 
 
 
FirefoxWinXP1024x768
szakal
Gość





Post Wysłany: 16.06.2008 16:27
Zacytuj zaznaczone   ^

A ja mam takie pytanie
Podrzuci mi ktos kod, w ktorym staty bylyby na obrazku
Obrazek ma 750x65 wymiary
 
  
 
 
 
 
 
FirefoxWinXP1280x1024
Dealis
Użytkownik
Dealis


Płeć: Mężczyzna
Wiek: 16
Dołączył(a): 25 Cze 2007
Posty: 2141
Pomocy: 76
Skąd: Piotrków Trybunalski
Post Wysłany: 16.06.2008 16:50
Zacytuj zaznaczone   ^

hmm, z takimi problemami to do działu giełda Cool
 
  
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora  
Numer Gadu-Gadu
5401981
 
 
 
 
 
 
 
 
FirefoxWinXP1680x1050
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