| 
<?PHP
/*******************************************************************************
 * PHP-Script:
 *
 * Example 1 for hn_Shoutcast.class.php
 *
 * Commandline-Example   - but you may call in web-environment too, ;-)
 *
 * For latest version of classfile go to:
 * - http://hn273.users.phpclasses.org/browse/author/45770.html
 * and select the desired classpage, or go directly to:
 * - http://hn273.users.phpclasses.org/browse/package/2049.html
 *
 ******************************************************************************
 *
 * @Author:    Horst Nogajski <[email protected]>
 * @Copyright: (c) 1999 - 2005
 * @Licence:   GNU GPL (http://www.opensource.org/licenses/gpl-license.html)
 * @Version:   1.0
 *
 * $Id: hn_shoutcast.example1.php,v 1.5 2005/01/05 23:44:21 horst Exp $
 *
 * Tabsize: 4
 *
 **/
 
 
 
 require_once(dirname(__FILE__).'/hn_shoutcastinfo.class.php');
 
 
 $proxy = NULL;
 // If you want use or must use a HTTP-Proxy, please specify all needed
 // credentials in plaintext like one of the following examples:
 //
 // $proxy = 'http://username:password@servername_OR_ip:port';
 // $proxy = 'http://servername_OR_ip:port';
 //
 // and pass it as second argument to the method query_URL !
 //$proxy = 'http://name:pass@server:port';
 
 
 
 // A Shoutcast-URL we want information about = http://server:port
 $url = 'http://165.132.105.182:8002';
 
 
 // instantiate classinstance, with optional first boolean param to switch
 // on debugging
 $sc =& new hn_shoutcast(TRUE);
 
 
 // call method to query url and parse response
 $sc->query_URL($url,$proxy);
 
 
 // Now you have all Information available in an assoziative array: $sc-info
 // If the Server is online, $sc->online is TRUE, otherwise it is FALSE
 
 
 
 // To do more testing, comment out the next line! =:)
 exit(0);
 
 
 
 // You also can use it for batch-execution:
 $urls = array(
 'http://208.53.131.220:8006',
 'http://165.132.105.182:8002',
 'http://208.53.131.220:8006',
 'http://213.203.207.194:8050',
 'http://64.236.34.97:80',
 'http://66.240.193.254:9000',
 'http://64.236.34.97:80',
 'http://64.202.98.51:6390',
 'http://207.150.170.30:9100',
 'http://216.117.139.179:8000',
 'http://82.182.81.202:9000',
 'http://216.240.152.157:8668'
 );
 
 
 // instantiate classinstance of classextension without debugging
 $sc =& new hn_ShoutcastInfo();
 
 // This should be example for commandline, but who knows if you care, ;-)
 if(isset($_SERVER['HTTP_HOST']))
 {
 @ini_set('max_execution_time',"240");
 //@ini_set('output_buffering',"0");
 @ini_set('implicit_flush',"1");
 echo '<pre>';
 }
 $i = 0;
 foreach($urls as $url)
 {
 echo "\n---".(++$i)."/".count($urls)."-----------------------";
 echo "\nQuery: $url";
 $sc->query_URL($url,$proxy);
 if($sc->online)
 {
 echo "\nResult: ONLINE!";
 echo "\n - Station: ".$sc->station();
 echo "\n - Current Song: ".$sc->song();
 if(isset($_SERVER['HTTP_HOST'])) echo "\n - Want listen to this station? <a href=\"{$url}/listen.pls\">YES</a>";
 }
 else
 {
 echo "\nResult: is offline";
 }
 echo "\n------------------------------\n";
 flush();
 }
 if(isset($_SERVER['HTTP_HOST'])) echo '</pre>';
 
 
 ?>
 
 |