Obserwujący 0
Jacob

[PHP] Statystyki tekstowe shoutcast

1 post w tym temacie

Statystyki shoutcast:

Tworzymy plik o nazwie stats.php
Do pliku wklejamy kod, który jest objaśniony poniżej:

<html> 
 <head> 
 <meta http-equiv="Content-Language" content="pl"> 

    
   <!-- coding.unl.pl  --> 
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" /> 
   <meta http-equiv="Refresh" content="30" /> 
  
 </head> 


<? 
  
  $sc[ip]       =   "s1.slotex.pl";  /*Tutaj należy wpisać IP radia*/ 
  $sc[port]     =   7076;            /*Tutaj wpisujemy port, w moim przypadku to 7076*/ 
 /**************** Tutaj tabele, które będą generować pola, tzn $sc[table1] bedzie odpowiadać za to, jaki Dj gra itd...****************/ 
  $sc[table1]   =   "<b>[dj][status]</b>"; 
  $sc[table2]   =   "<b>[audycja][status]</b>"; 
  $sc[table3]   =   "<b>[nuta][status]</b>"; 
  $sc[table4]   =   "<b>[ile]</b>"; 

if($fp = fsockopen($sc[ip] , $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] = ""; 
  elseif( $tmp[1][0] == "down" ) 
      $dat[status] = "Brak Audycji"; 
  else 

      $dat[status] = ""; 

  if($dat[status]=="") 
  { 

//  [audycja] 
      $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[audycja] = $tmp[1]; 
      else $dat[audycja] = ""; 

  //  [dj] 
      $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[dj] = $tmp[1]; 
      else $dat[dj] = ""; 

  //  [statyw] 
      $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[statyw] = $tmp[1]; 
      else $dat[statyw] = "pilot"; 

  //  [gg] 
      $m[0]="Stream ICQ:"; 
      $m[1]="Stream AIM:"; 
      $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] = ""; 

  //  [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] = ""; 

    //  [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] = ""; 

//  [nuta] 
      $m[0]="Current Song:"; 
      $m[1]="Written by Ste"; 
      $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[nuta] = $tmp[1]; 
      else $dat[nuta] = ""; 

  } 
} 
else 

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

$co           =   array('[status]','[audycja]','[dj]','[statyw]','[gg]','[ile]','[peak]','[nuta]'); 
$naco         =   array($dat[status],$dat[audycja],$dat[dj],$dat[statyw],$dat[gg],$dat[ile],$dat[peak],$dat[nuta]); 
$sc[table1]   =   str_replace($co,$naco,$sc[table1]); 
$sc[table2]   =   str_replace($co,$naco,$sc[table2]); 
$sc[table3]   =   str_replace($co,$naco,$sc[table3]); 
$sc[table4]   =   str_replace($co,$naco,$sc[table4]); 

?> 


   <table cellpadding="0" cellspacing="0" width="100" height="100"> 
      
     <!-- Przykładowe użycie skryptu, wyświetlające Prezentera, Nazwę audycji i nute, która leci. --> 
      
       <tr> 
           <td></td> 
           <td colspan="3"> 
           <font size="2" color="#858585">Prezenter:<MARQUEE width="186" SCROLLAMOUNT=2 ><b><?echo $sc[table1]; ?></b></MARQUEE></font></td> 
           <td height="26">&nbsp;</td> 
           </tr> 
       <tr> 
           <td></td> 
           <td></td> 
           <td colspan="2"> 
           <font size="2" color="#858585">Audycja:<MARQUEE width="182" SCROLLAMOUNT=2 height="18" ><b><?echo $sc[table2]; ?></MARQUEE></b></font></td> 
           <td height="27">&nbsp;</td> 
       </tr> 
       <tr> 
           <td></td> 
           <td></td> 
           <td colspan="2"> 
           <font size="2" color="#858585">Nuta:<MARQUEE width="182" SCROLLAMOUNT=2 height="18" ><b><?echo $sc[table3]; ?></MARQUEE></b></font></td> 
           <td height="27">&nbsp;</td> 
       </tr> 
   </table> 



</html>

Aby wyświetlić go na danej podstronie, należy dodać w kodzie, np w index.php linijkę: 

<?include 'stats.php';?>

Od znacznika <table> możemy edytować wygląd statystyk. To jest tylko przykładowy kod

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na stronach

Napisano przed chwilą

Ceesik.pl

Gość
Ten temat jest zamknięty i nie można dodawać odpowiedzi.
Obserwujący 0