Skocz do zawartości
W Naszym sklepie znajdziesz wiele skinów do cs go, konkurencyjne ceny i natychmiastowa wysyłka to Nasza dywiza!
  • Przeglądający   0 użytkowników

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

Jacob

[PHP] Statystyki tekstowe shoutcast

Promowane odpowiedzi

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 pBartnik
      Chciałbym zrobić coś takiego jak było na Webmasteruj.pl, że jak ktoś nie miał imienia dodanego w profilu to pokazywało jego nick. 
      W page_header.php musiałbym dać tutaj if kiedy jest imię podane ( $userdata['username'] ) ?. 
      Teraz najważniejsze pytanie bo nie wiem czy dodać kolumnę i zrobić pobieranie czy po prostu pole mogę dodać przez Panel Admina? (Chyba nie).  
    • Przez Grzegorz
      Witam mam problem. Ogółem wcześniej miałem zrobione kategorie. W raz z wybraną kategorią wyświetlała mi się zawartość z niej. Teraz chciałem dodać do kategorii stronicowanie. Lecz nie pykło mi. Stronicowanie działa ale kategorie nie. O to efekt połączenia kodów :d.  A poniżej jeszcze dodaje kody pierwotnych działających kodów php na kategorii i stronicowanie. Pomoże ktoś to połączyć :D?
      <!DOCTYPE html> <html> <head> <style> </style> </head> <body> <form action="#produkty" method="GET"> <fieldset> <legend><div id="filtxt"> FILTR PRODUKTÓW </div></legend> <button class="kategoria" name="kategoria" type="submit" value="Dom">Dom</button> <button class="kategoria" name="kategoria" type="submit" value="Dzieci">Dzieci</button> <button class="kategoria" name="kategoria" type="submit" value="Szkola">Szkoła</button> <button class="kategoria" name="kategoria" type="submit" value="Uroczystosci">Uroczystości</button> <button class="kategoria" name="kategoria" type="submit" value="Dla Ciebie">Dla Ciebie </button> <button class="kategoria" name="kategoria" type="submit" value="Dla Firmy">Dla Firmy </button> </fieldset> </form> <?php $kategoria = isset($_GET['kategoria'])? $_GET['kategoria'] : 'Dom'; $dbc = mysqli_connect('localhost','root','','gifthaft') or die("Brak połączenia z bazą"); $results_per_page = 10; $sql = "SELECT * FROM produkty WHERE kategoria = '$kategoria' LIMIT 5,30"; $result = mysqli_query($dbc,$sql) or die("Brak możliwości wyświetelnia danych"); $number_of_results = mysqli_num_rows($result); //while ($row = mysqli_fetch_array($result)) { //echo $row['id'] . ' ' . $row['Nazwa_Produktu'] . '<br>'; //}// $number_of_pages = ceil($number_of_results/$results_per_page); if (!isset($_GET['page'])) { $page = 1; } else { $page = $_GET['page']; } $this_page_first_result = ($page-1)*$results_per_page; $sql = "SELECT * FROM produkty LIMIT " . $this_page_first_result . ',' . $results_per_page; $result = mysqli_query($dbc, $sql); while ($row = mysqli_fetch_array($result)) { echo "<div class='all-product'><div class='sal-product'><div class='img-product'><img class='img-name'src='img/" . $row["Obraz_Produktu"] . "'></div><div class='name-product'>". $row["Nazwa_Produktu"] . "</div><div class='text-product'>". $row["Opis_Produktu"] . "</div><div class='produkt'>Cena: " . $row["Cena_Produktu"] . "</div><div class='id-product'>Id Produktu: " . $row{"Id_Produktu"} . "</div></div> </div>"; } for ($page=1;$page<=$number_of_pages;$page++) { echo '<a href="indexa.php?page=' . $page . '">' . $page . '</a> '; } ?> </body> </html> A tu plik stronicowania przed połączeniem
      <!DOCTYPE html> <html> <head> <style> </style> </head> <body> <?php $con = mysqli_connect("localhost", "root", ""); mysqli_select_db($con, "gifthaft"); $results_per_page = 10; $sql = "SELECT * FROM produkty LIMIT 5,30"; $result = mysqli_query($con,$sql); $number_of_results = mysqli_num_rows($result); //while ($row = mysqli_fetch_array($result)) { //echo $row['id'] . ' ' . $row['Nazwa_Produktu'] . '<br>'; //}// $number_of_pages = ceil($number_of_results/$results_per_page); if (!isset($_GET['page'])) { $page = 1; } else { $page = $_GET['page']; } $this_page_first_result = ($page-1)*$results_per_page; $sql = "SELECT * FROM produkty LIMIT " . $this_page_first_result . ',' . $results_per_page; $result = mysqli_query($con, $sql); while ($row = mysqli_fetch_array($result)) { echo $row['id'] . ' ' . $row['Nazwa_Produktu'] . '<br>'; } for ($page=1;$page<=$number_of_pages;$page++) { echo '<a href="indexa.php?page=' . $page . '">' . $page . '</a> '; } ?> </body> </html> A tu kod kategorii: 
      <form action="#produkty" method="GET"> <fieldset> <legend><div id="filtxt"> FILTR PRODUKTÓW </div></legend> <button class="kategoria" name="kategoria" type="submit" value="Dom">Dom</button> <button class="kategoria" name="kategoria" type="submit" value="Dzieci">Dzieci</button> <button class="kategoria" name="kategoria" type="submit" value="Szkola">Szkoła</button> <button class="kategoria" name="kategoria" type="submit" value="Uroczystosci">Uroczystości</button> <button class="kategoria" name="kategoria" type="submit" value="Dla Ciebie">Dla Ciebie </button> <button class="kategoria" name="kategoria" type="submit" value="Dla Firmy">Dla Firmy </button> </fieldset> </form> <div id="liveproduct"> <?php error_reporting(0); $kategoria = isset($_GET['kategoria'])? $_GET['kategoria'] : 'Dom'; $dbc = mysqli_connect('localhost','root','','gifthaft') or die("Brak połączenia z bazą"); mysqli_query($dbc, "SET CHARSET utf8"); $results_per_page = 10; $query = "SELECT * FROM produkty WHERE kategoria = '$kategoria' LIMIT 5,30"; $result = mysqli_query($dbc,$query) or die("Brak możliwości wyświetlenia danych"); $number_of_results = mysqli_num_rows($result); while($row = mysqli_fetch_array($result)){ echo "<div class='all-product'><div class='sal-product'><div class='img-product'><img class='img-name'src='img/" . $row["Obraz_Produktu"] . "'></div><div class='name-product'>". $row["Nazwa_Produktu"] . "</div><div class='text-product'>". $row["Opis_Produktu"] . "</div><div class='produkt'>Cena: " . $row["Cena_Produktu"] . "</div><div class='id-product'>Id Produktu: " . $row{"Id_Produktu"} . "</div></div> </div>"; } mysqli_free_result($result); mysqli_close($dbc); ?>  
    • Przez Sandy
      Witam,

      Szukam gotowego skryptu lub pomocy w kwestii stworzenia wyszukiwarki która będzie wyszukiwać frazesów nie w wyszukiwarce google a tylko na mojej stronie.
    • Przez dennijs
      Jak w temacie. W jaki sposób mogę nadać skryptowi php permisje do zapisu plików?
      Warning: fopen(<json file>): failed to open stream: Permission denied in update.php on line 31
       
      Próbowałem w ten sposób, ale nic to nie dało:
      sudo chmod 777 /var/www/html/<directory>
       
       
      ** nieważne poradziłem sobie 
    • Przez DSA
      Witam,
       
      od czego muszę zacząć skrypt php, który umożliwia dodanie rekordu do bazy danych na określony czas np. 2 dni, 7 dni, 14 dni itd.? Po upływie wyznaczonego terminu, rekord zostaje usunięty z bazy danych. Jakieś podpowiedzi, wskazówki, mile widziane.
  • Ostatnie tematy

×