Remplacer la fonction Include
Posté : 22 juil. 2007, 15:51
Bonjour,
Je viens de changer d'hébergeur et un script qui fonctionnait précédemment chez mon ancien hébergeur, ne fonctionne pus chez le nouveau, motif : blocage des INCLUDE pour des raisons de sécurité.
D'où ma question :
Comment remplacer les lignes de commandes suivantes :
include ("config1.php");
include ("scastxml.php");
Systèmatiquement, le fichier concerné plante mon site
Cordialement,
Marc
les 3 fichiers correspondant sont les suivants :
CONFIG.1.PHP
SCASTXML.PHP
Et le 3e fichier sur le quel je pointe
Je viens de changer d'hébergeur et un script qui fonctionnait précédemment chez mon ancien hébergeur, ne fonctionne pus chez le nouveau, motif : blocage des INCLUDE pour des raisons de sécurité.
D'où ma question :
Comment remplacer les lignes de commandes suivantes :
include ("config1.php");
include ("scastxml.php");
Systèmatiquement, le fichier concerné plante mon site
Cordialement,
Marc
les 3 fichiers correspondant sont les suivants :
CONFIG.1.PHP
<?php
ini_set('max_execution_time','10');
////////////////////////
// Configuration file //
////////////////////////
// Shoutcast server ip, port number and password
$host = "tv3.stream-music.net";
$port = "8402";
$password = "*****";
// End shoutcast server config
// Default configuration if server is down
$title = "Radio Klub"; // Title of radio station, use same as shoutcast dsp plug-in
$cstmsg = "Radio Klub est actuellement en maintenance, merci pour votre patience !"; // Custom message you want to tell your listeners if server is offline
// End
// Config for look and feel
// End
// Misc Config
$reset = "2"; // How often in days are stats (SERVER) reset, default is 3
$detailed = "1"; // Detailed stats on or off (1=on) (0=off)
$djname = "Dj Marko"; // Your dj name dhu!!
$refresh = "10"; // How often in seconds should the pages refresh themselves
?>
SCASTXML.PHP
<?
include ("config1.php");
$listenlink = 'http://'.$host.':'.$port.'/listen.pls'; //make link to stream
$fp = @fsockopen("$host", $port, &$errno, &$errstr, 30); //open connection
if(!$fp) {
$success=2; //set if no connection
}
if($success!=2){ //if connection
fputs($fp,"GET /7.html HTTP/1.0\r\nUser-Agent: SHOUTcast stats XML Parser (Mozilla Compatible)\r\n\r\n"); //get 7.html
while(!feof($fp)) {
$page .= fgets($fp, 1000);
}
@fclose($fp); //close connection
$page = ereg_replace(".*<body>", "", $page); //extract data
$page = ereg_replace("</body>.*", ",", $page); //extract data
$numbers = explode(",",$page); //extract data
$currentlisteners=$numbers[0]; //set variable
$connected=$numbers[1]; //set variable
if($connected==1) //if DSP is connected
$wordconnected="yes"; //set variable
else //if no DSP connection
$wordconnected="no"; //set variable
$peaklisteners=$numbers[2]; //set variable
$maxlisteners=$numbers[3]; //set variable
$reportedlisteners=$numbers[4]; //set variable
}
if($connected==1){ //only do if DSP is connected
$fp = @fsockopen("$host", $port, &$errno, &$errstr, 30); //open connection
if(!$fp) { //if no connection
$success1=2; //dummy variable to see if successful connect
}
if($success1!=2){ //only do if connected
fputs($fp,"GET /index.html HTTP/1.0\r\nUser-Agent: SHOUTcast stats XML Parser (Mozilla Compatible)\r\n\r\n"); //get index.html
while(!feof($fp)) {
$page .= fgets($fp, 1000);
}
$pageed = ereg_replace(".*Stream is up at ", "", $page); //extract data
$bitrate = ereg_replace(" kbps.*", "", $pageed); //extract data
@fclose($fp); //close connection
##Print out bitrate.##
//echo('$bitrate = '.$bitrate.' <BR>');
##You know the drill stop here.##
}
}
$fp = @fsockopen("$host", $port, &$errno, &$errstr, 30); //open connection yet again
if(!$fp) { //if connection
$success2=2;
}
if($success2!=2){ //if connected
//for newer shoutcast servers
fputs ($fp, "GET /admin.cgi?mode=viewxml HTTP/1.1\r\nHost: $host:$port\r\n .
User-Agent: SHOUTcast Listener Stats (author: [email protected])(Mozilla Compatible)\r\n .
Authorization: Basic ".base64_encode ("admin:$password")."\r\n\r\n");
while(!feof($fp)) {
$page .= fgets($fp, 1000);
}
$loop = array("AVERAGETIME", "SERVERGENRE", "SERVERURL", "SERVERTITLE", "SONGTITLE", "SONGURL", "IRC", "ICQ", "AIM", "WEBHITS", "STREAMHITS", "INDEX", "LISTEN", "PALM7",
"LOGIN", "LOGINFAIL", "PLAYED", "COOKIE", "ADMIN", "UPDINFO", "KICKSRC", "KICKDST", "UNBANDST", "BANDST", "VIEWBAN", "UNRIPDST", "VIEWRIP", "VIEWXML",
"VIEWLOG", "INVALID"); //define all the variables to get (delte any ones you don't want)
$y=0; //dummy variable for while loop
while($loop[$y]!=''){ //while there are things in loop
$pageed = ereg_replace(".*<$loop[$y]>", "", $page); // extract data
$phpname = strtolower($loop[$y]); //make names in loop lowercase for variable names
$$phpname = ereg_replace("</$loop[$y]>.*", "", $pageed); //finish extracting data
if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE) //if for code clean-up (if you have problems with variables with URL encoding (i.e. %20 for space put them in this loop)
$$phpname = urldecode($$phpname); // replace URL code with regular text (i.e. %20 = space)
$y++; //update dummy variable for while loop
}
$pageed = ereg_replace(".*<SONGHISTORY>", "", $page); //extract data
$pageed = ereg_replace("<SONGHISTORY>.*", "", $pageed); //extract data
$songatime = explode("<SONG>", $pageed); //break data down for each song
$r=1; //dummy variable
while($songatime[$r]!=""){ //while loop for each song
$t=$r-1; //correction for first value in array from explode is worthless
$playedat[$t] = ereg_replace(".*<PLAYEDAT>", "", $songatime[$r]); // extract data
$playedat[$t] = ereg_replace("</PLAYEDAT>.*", "", $playedat[$t]); //extract data
$song[$t] = ereg_replace(".*<TITLE>", "", $songatime[$r]); //extract data
$song[$t] = ereg_replace("</TITLE>.*", "", $song[$t]); //extract data
$song[$t] = urldecode($song[$t]); //cleans-up the URL code thing again
$frmt_date[$t] = ($playedat[$t]);
$r++; //update loop variable
}
$pageed = ereg_replace(".*<LISTENERS>", "", $page); //extract data
$pageed = ereg_replace("</LISTENERS>.*", "", $pageed); //extract data
$listeninfo = explode("<LISTENER>", $pageed); //break apart data
$r=1; //dummy loop variable
while($listeninfo[$r]!=""){ //while loop for extraction
$t=$r-1; //correction for first value in array from explode is worthless
$hostname[$t] = ereg_replace(".*<HOSTNAME>", "", $listeninfo[$r]); //extract data
$hostname[$t] = ereg_replace("</HOSTNAME>.*", "", $hostname[$t]); //extract data
$useragent[$t] = ereg_replace(".*<USERAGENT>", "", $listeninfo[$r]); //extract data
$useragent[$t] = ereg_replace("</USERAGENT>.*", "", $useragent[$t]); //extract data
$underruns[$t] = ereg_replace(".*<UNDERRUNS>", "", $listeninfo[$r]); //extract data
$underruns[$t] = ereg_replace("</UNDERRUNS>.*", "", $underruns[$t]); //extract data
$connecttime[$t] = ereg_replace(".*<CONNECTTIME>", "", $listeninfo[$r]); //extract data
$connecttime[$t] = ereg_replace("</CONNECTTIME>.*", "", $connecttime[$t]); //extract data
$r++; //update loop variable
}
fclose($fp); //close connection
}
?>
Et le 3e fichier sur le quel je pointe
<body bgcolor="#000000">
<?php
include ("config1.php");
include ("scastxml.php");
echo"
<html>
<tr>
<div align=center><b>Actuellement sur Radio Klub</b></div>
<marquee>$song[0]</marquee>
<p> </p>
<p>Auditeurs en ligne : $currentlisteners/$maxlisteners<br></p>
<p>Qualité : $bitrate kbps<br>
</p>
<p>Nombre d'auditeurs : $streamhits<br>
Nombre total de Hits : $webhits<br>
Moyenne d'écoute : $averagetime s<br></td></p>
</tr> </font>";
?>