We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

Problem ze skryptem statystyk (shoutcast)


grimble
18-06-2007, 10:04
Być może że serwer na którym masz stronę nie pozwala na połączenia wychodzące.

Wyświetl
Kod PHP:
$errstr 
to może dowiemy coś więcej.

Macko
18-06-2007, 09:54
Witam.
Chciałem zrobić skrypt radia internetowego, który będzie pokazywać kto gra, jaka audycja jest prowadzona, kto gra, jaki utwór, to wszystko w logo(podgląd: http://www.cwnm.tk ).
Ale napotykam pewien problem, otóż wyświetla mi się na górze strony komunikat:
Warning: fsockopen() [function.fsockopen]: unable to connect to 213.133.110.195:8650 in /var/www/sites/yoyo.pl/c/w/cwnm/theme/radiotech/index.php on line 59
i podczas, gdy radio normalnie nadaje, ciągle wyświetlane jest: Aktualnie Nie Jest Prowadzona Zadna Aducyja!!!.

Podaje skrypt, jaki jest w tej chwili:

Kod PHP:
   $sc[czas]       =   180;
   
$sc[host]       =   "213.133.110.195";
   
$sc[port]       =   8650

$sc[template1]   =  "[radio]";
$sc[template2]   =  "[aim]";

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


//  [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" " trimsubstr$in $mp[0] + $ml[0] , ) ) );

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

   if(
$dat[status]=="On")
   {
   
//  [radio]
       
$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]=trimsubstr$in $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1] ) );

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

   
//  [aim]
       
$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]=trimsubstr$in $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1] ) );

       if( 
$tmp[1] ) $dat[aim] = $tmp[1];
       else 
$dat[aim] = "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]=trimsubstr$in $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-) );

       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" " trimsubstr$in $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-) ) );

       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" " trimsubstr$in $mp[0] + $ml[0] , $mp[1]-$mp[0]-$ml[1]-) ) );

       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]=trimsubstr$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]','[radio]','[aim]','[genre]','[ile]','[max]','[peak]');
$naco           =   array($dat[status],$dat[radio],$dat[aim],$dat[genre],$dat[ile],$dat[max],$dat[peak]);
$sc[template1]   =   str_replace($co,$naco,$sc[template1]);
$sc[template2]   =   str_replace($co,$naco,$sc[template2]);

  
$fp1 = @fsockopen($sc[host], $sc[port], &$errno, &$errstr10);

  if (!
$fp1) {
   
$text "Aktualnie Nie Jest Prowadzona Zadna Aducyja!!!";
  } else {

   
fputs($fp1"GET /7 HTTP/1.1\nUser-Agent:Mozilla\n\n");

   for(
$i 0$i 1$i++) {
    if (
feof($fp1)) break;
    
$fp_data1 fread($fp131337);
    
usleep(500000);
   }

   
$fp_data1 ereg_replace("^.*"""$fp_data1);
   
$fp_data1 ereg_replace(".*"""$fp_data1);

   list(
$current1$status1$peak1$max1$reported1$bit1$song1) = explode(","$fp_data17);

   if (
$status1 == "1")
    
$text "$song1";
 else
    
$text "Aktualnie Nie Jest Prowadzona Zadna Aducyja!!!";
  }

?>
Bardzo proszę o jakąkolwiek formę pomocy, z góry dziękuję za zainteresowanie.