par
broska » 11 nov. 2008, 16:10
Si il pèse tout de même quelque chose...
Tiens j'ai trouvé se code si, pour lire sur le fichier status2.xls
<?php
function connect_icecast($host, $port)
{
$fp = @fsockopen($host, $port, $errno, $errstr, 3);
if(!$fp)
return false;
fputs($fp, 'GET /status2.xsl' . " HTTP/1.0\r\nUser-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)\r\n\r\n");
$page = '';
while(!feof($fp))
$page .= fread($fp, 1000);
fclose($fp);
return $page;
}
function tab_icecast($host, $port)
{
$contenu = connect_icecast($host, $port);
if ($contenu)
{
$tabChamps = array(2 => 'name', 3 => 'listeners', 4 => 'description', 5 => 'artist', 6 => 'title', 7 => 'url');
if (preg_match_all('`(/[^,]*),,([^,]*),([^,]*),([^,]*),([^-]*) - ([^,]*),([^,<\/]*)`', $contenu, $resultat))
{
foreach($resultat[1] as $numPoint => $mountName)
foreach ($tabChamps as $index => $champ)
$tabIce[$mountName][$champ] = $resultat[$index][$numPoint];
return $tabIce;
}
else
return false;
}
else
return false;
}
$tabIceCast = tab_icecast('www.metalizer.fr', 8000);
if($tabIceCast)
{
echo '<pre>';
print_r($tabIceCast);
echo '</pre>';
}
else
echo 'Parsing impossible';
?>
Je sais pas si sa vas te dire quelque chose ... J'ai pas tout saisi à l'heure code .
Enfin sa peut-être une amélioration mais sa ne résous pas mon problème de 'Offline' ....
J'ai essayé avec une adresse style
www.google.fr et la sa fonctionne mais bon toujours pas avec mon serveur.
Si il pèse tout de même quelque chose...
Tiens j'ai trouvé se code si, pour lire sur le fichier status2.xls
[php]<?php
function connect_icecast($host, $port)
{
$fp = @fsockopen($host, $port, $errno, $errstr, 3);
if(!$fp)
return false;
fputs($fp, 'GET /status2.xsl' . " HTTP/1.0\r\nUser-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9)\r\n\r\n");
$page = '';
while(!feof($fp))
$page .= fread($fp, 1000);
fclose($fp);
return $page;
}
function tab_icecast($host, $port)
{
$contenu = connect_icecast($host, $port);
if ($contenu)
{
$tabChamps = array(2 => 'name', 3 => 'listeners', 4 => 'description', 5 => 'artist', 6 => 'title', 7 => 'url');
if (preg_match_all('`(/[^,]*),,([^,]*),([^,]*),([^,]*),([^-]*) - ([^,]*),([^,<\/]*)`', $contenu, $resultat))
{
foreach($resultat[1] as $numPoint => $mountName)
foreach ($tabChamps as $index => $champ)
$tabIce[$mountName][$champ] = $resultat[$index][$numPoint];
return $tabIce;
}
else
return false;
}
else
return false;
}
$tabIceCast = tab_icecast('www.metalizer.fr', 8000);
if($tabIceCast)
{
echo '<pre>';
print_r($tabIceCast);
echo '</pre>';
}
else
echo 'Parsing impossible';
?>[/php]
Je sais pas si sa vas te dire quelque chose ... J'ai pas tout saisi à l'heure code .
Enfin sa peut-être une amélioration mais sa ne résous pas mon problème de 'Offline' ....
J'ai essayé avec une adresse style www.google.fr et la sa fonctionne mais bon toujours pas avec mon serveur.