Skocz do zawartości
  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

Jacob

[PHP] Statystyki tekstowe shoutcast

Promowane odpowiedzi

Jacob    1

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 innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  • Podobna zawartość

    • Przez sztywan.
      Cześć, mam problem ponieważ nie wiem jak wyświetlnić wyniki z bazy danych MySQL oddzielone przecinkami. Posiadam tabele gdzie są zapisane nicki graczy i oddzielone są przecinkami i teraz mam pytanie jak to oddzielić i wyświetlić za pomocą pętli while?
    • Przez Mateusz1324
      Witam, jestem początkujący w PHP, dostałem zadanie w którym z wykorzystaniem pętli for mam zrobić skrypt który będzie sprawdzał czy wpisane hasło jest poprawne, po 3 nieudanych próbach skrypt ma przenieść na oddzielną podstronę na której będzie napisane "Wykorzystałeś 3 próby, brak dostępu".  Po wpisaniu dobrego hasła skrypt przenosi na pewną stronę, ale to już mam zrobione, mam tylko problem z zastosowaniem pętli for do sprawdzania ile razy zostało podane błędne hasło i po wykorzystaniu określonej liczby prób wyrzucało na podstronę o której pisałem wcześniej.
      Pozdrawiam i liczę na szybką pomoc
    • Przez sztywan.
      Cześć, próbuje stworzyć formularz logowania za pomocą ajax i php. Mam taki prosty kod:
      <script> $(document).ready(function() { var form = $("#login_form").serialize(); $.ajax({ type: 'POST', url: 'action/login.php', data: form, beforeSend: function() { $("#info").html("Trwa sprawdzanie danych..."); } success: function(response) { if(response == "ok") { setTimeout("window.location.href = dashboard.php", 4000); } else { $("#info").html(response); } } }); }); </script> I taki plik login.php, w którym znajduje się:
      <?php if(isset($_POST['login_button'])) { $admin_email = $_POST['input_email']; $admin_password = $_POST['input_password']; $password = md5($admin_password); $admin = $database->query("SELECT * FROM `admin_users` WHERE password=$password"); if($admin->num_rows > 0) { echo "ok"; $_SESSION['admin_email'] = $admin_email; $_SESSION['admin_login'] = true; } } ?> I gdy wchodzę na stronie w konsoli wyświetla się taki błąd.
      Ale w linii 58 znajduje się to:
      url: 'action/login.php', Sprawdziłem wszystko, moim okiem i nie widzę  żeby brakowało gdzieś klamry.
      Tutaj macie link do dema, gdzie wszystko pisze: NetherShop - Darmowy sklep SMS dla twojego serwera Minecraft!
    • Przez Vafi
      Witam,
      Mam problem z napisaniem instrukcji PHP if, która przełącza ustawienia. Chcę zrobić instrukcje która czyta teraźniejszą godzinę i jeżeli jest od 10:00 do 16:00 (1 część instrukcji) to zmienia ustawienia, to samo 16:01-23:59 (2 część) i 00:00-09:59 (3 część), czyli 3 opcje godzinowe, które w zależności od godziny zmieniają ustawienia, a dokładniej ustawienia pobierają z instrukcji że jeśli jest ta godzina to...
       
      Czekam, na pomoc, pozdrawiam
    • Przez Lord Fenrir
      Cześć guys!
      Ogólnie temat API jest mi obcy, ostatnio od znajomego dostałem zadanie rekrutacyjne w celach ćwiczeniowych i należało w nim wykorzystać API pewnego serwisu/usługi. Chciałbym się dowiedzieć jak połączyć się w PHP z API znajdującym się na zewnętrznym serwerze mając do dyspozycji tylko link do pliku .json.
       
  • Ostatnie tematy

×