<?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>';
 
 
 
?>
 
 
 |