Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Napis OFFLINE zamiast błędu
Forum PHP.pl > Forum > Przedszkole
oLOL
Witam, mam taki kod:
  1. <font face="arial" color="ffffff" size="2">
  2. <?
  3.   $sc[czas]       =   180;
  4.   $sc[host]       =   "[adres]";
  5.   $sc[port]       =   8000;
  6.  $sc[template]   =   " ONLIN:<b> [status]</b><br>Nazwa Radia&nbsp:<b>[dj]</b><br>Prezenter:<b> [genre] </b><br>Gadu-gadu Dj-:<b>[gg]</b><br>Slucha&nbsp:<b> [ile] osób</b><br>";
  7. #   $sc[template]   =   "<b>Status (on/off/err)&nbsp:</b> [status]<br><b>GG DJ-:</b> [gg]<br><b>D:</b> [genre]<br><b>Ilu sluchaczy aktualnie/maksymalnie/pea:</b> [ile]/[max]/[peak]<br>";
  8.  
  9.  
  10.  
  11.  
  12. ?>
  13. <html>
  14. <head>
  15. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  16. <META HTTP-EQUIV="Refresh" CONTENT="<?=$sc[czas]?>; URL="">
  17. </head>
  18. <body bgcolor="000000">
  19. <?
  20. if($fp = fsockopen($sc[host], $sc[port]))
  21. {
  22. fputs($fp,"GET /index.html HTTP/1.0r\nUser-Agen: XML Getter (Mozilla Compatible)r\nr\n");
  23. fgets($fp);fgets($fp);fgets($fp);
  24.       while(!feof($fp)) $in.=strip_tags(fgets($fp));
  25. fclose($fp);
  26.  # echo $in;
  27.  
  28. //  [status]
  29.   $m[0]="Server is currently";
  30.   $m[1]="";
  31.   $mp[0]=strpos($in,$m[0]);
  32.   $mp[1]=@strpos($in,$m[1]);
  33.   $ml[0]=strlen($m[0]);
  34.   $ml[1]=strlen($m[1]);
  35.  
  36.   $tmp[1]=explode( " " , trim( substr( $in , $mp[0] + $ml[0] , 5 ) ) );
  37.  
  38.   if( $tmp[1][0] == "up" )
  39.       $dat[status] = "on";
  40.   elseif( $tmp[1][0] == "down" )
  41.       $dat[status] = "off";
  42.   else
  43.       $dat[status] = "err";
  44.  
  45.   if($dat[status]=="on")
  46.   {
  47.   //  [dj]
  48.       $m[0]="Stream Titl:";
  49.       $m[1]="Content Typ:";
  50.       $mp[0]=strpos($in,$m[0]);
  51.       $mp[1]=strpos($in,$m[1]);
  52.       $ml[0]=strlen($m[0]);
  53.       $ml[1]=strlen($m[1]);
  54.  
  55.       $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1] ) );
  56.  
  57.       if( $tmp[1] ) $dat[dj] = $tmp[1];
  58.       else $dat[dj] = "err";
  59.  
  60.   //  [gg]
  61.       $m[0]="Stream AI:";
  62.       $m[1]="Stream IR:";
  63.       $mp[0]=strpos($in,$m[0]);
  64.       $mp[1]=strpos($in,$m[1]);
  65.       $ml[0]=strlen($m[0]);
  66.       $ml[1]=strlen($m[1]);
  67.  
  68.       $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1] ) );
  69.  
  70.       if( $tmp[1] ) $dat[gg] = $tmp[1];
  71.       else $dat[gg] = "err";
  72.  
  73.   //  [genre]
  74.       $m[0]="Stream Genr:";
  75.       $m[1]="Stream UR:";
  76.       $mp[0]=strpos($in,$m[0]);
  77.       $mp[1]=strpos($in,$m[1]);
  78.       $ml[0]=strlen($m[0]);
  79.       $ml[1]=strlen($m[1]);
  80.  
  81.       $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-2 ) );
  82.  
  83.       if( $tmp[1] ) $dat[genre] = $tmp[1];
  84.       else $dat[genre] = "err";
  85.  
  86.   //  [ile]
  87.       $m[0]="kbps with";
  88.       $m[1]="listeners";
  89.       $mp[0]=strpos($in,$m[0]);
  90.       $mp[1]=strpos($in,$m[1]);
  91.       $ml[0]=strlen($m[0]);
  92.       $ml[1]=strlen($m[1]);
  93.  
  94.       $tmp[1]=explode( " " , trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-2 ) ) );
  95.  
  96.       if( $tmp[1] ) $dat[ile] = $tmp[1][0];
  97.       else $dat[ile] = "err";
  98.  
  99.   //  [max]
  100.       $m[0]="kbps with";
  101.       $m[1]="listeners";
  102.       $mp[0]=strpos($in,$m[0]);
  103.       $mp[1]=strpos($in,$m[1]);
  104.       $ml[0]=strlen($m[0]);
  105.       $ml[1]=strlen($m[1]);
  106.  
  107.       $tmp[1]=explode( " " , trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-2 ) ) );
  108.  
  109.       if( $tmp[1] ) $dat[max] = $tmp[1][2];
  110.       else $dat[max] = "err";
  111.  
  112.   //  [peak]
  113.       $m[0]="Listener Pea:";
  114.       $m[1]="Average";
  115.       $mp[0]=strpos($in,$m[0]);
  116.       $mp[1]=strpos($in,$m[1]);
  117.       $ml[0]=strlen($m[0]);
  118.       $ml[1]=strlen($m[1]);
  119.  
  120.       $tmp[1]=trim( substr( $in , $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-7) );
  121.  
  122.       if( $tmp[1] ) $dat[peak] = $tmp[1];
  123.       else $dat[peak] = "err";
  124.  
  125.  
  126.   }
  127. }
  128. else
  129. {
  130.   $dat=array();
  131.   $dat[status]="err";
  132. }
  133.  
  134. $co             =   array('[status]','[dj]','[gg]','[genre]','[ile]','[max]','[peak]');
  135. $naco           =   array($dat[status],$dat[dj],$dat[gg],$dat[genre],$dat[ile],$dat[max],$dat[peak]);
  136. $sc[template]   =   str_replace($co,$naco,$sc[template]);
  137.  
  138. echo $sc[template];
  139. ?>
  140. </font>
  141. </body>
  142. </html><BR>
  143. <a href=[adres:8000/listen.pls>
  144. <b>Kliknij by posłuchać</b></a><br><br>


Jest to info o serwerze shoutcast, teraz mam pytanie:
Co można zrobić, żeby był napis OFFLINE zamiast komunikatu o błędzie, gdy fsockopen nie moze się połączyć z serwerem questionmark.gif
Bardzo proszę o pomoc.
tiraeth
Crossposting - Temat: PHPHTML_Statystyka_shoutcast_i_blad_fsockopen

Zamykam. Posty przenoszę do tamtego tematu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.