<HTML>Nebude to fungovat. No tak, dávejte trochu pozor ;) Ten řádek s file_get_contents potřebuje pár úprav:
<code>$page = file_get_contents('http://'.$scip.':'.$scport.'/admin.cgi?pass='.$scpass.'&mode=viewxml');</code>
Zvláště to HTTP je důležité. Je dobré si dále všimnout, že původní zdroják má vlastní řešení větve "nepovedlo se to", kterou je potřeba nějakým ifem po načtení dat ošetřit:
<code>if($page === FALSE) {
echo ''.$scdef.' is Offline';
}
else {
// zde bude následovat ten zpracovávací kód atd.
}</code>
A aby to vůbec fungovalo, je třeba nezapomenout na allow_url_fopen.</HTML>
Udelal jsem to podla vas a stejne to nefunguje.
Nipal: Jak jsem říkal, jsem marod. Tak mně to teď zrovna dvakrát nemysli. ;)
<HTML>Jardo, asi jsem hluchý či slepý. Možná jenom málo informovaný. Rozepište se trochu s tou nefunkčností. Hlásí to něco? Dělá to něco? Jak to vypadá?</HTML>
<?php
include('config_radio.php');
$page = file_get_contents('http://'.$scip.':'.$scport.'/admin.cgi?pass='.$scpass.'&mode=viewxm l');
######################################################################################################################
/////////////////////////part 1 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//define xml elements
$loop = array("STREAMSTATUS", "BITRATE", "SERVERTITLE", "CURRENTLISTENERS", "MAXLISTENERS", "BITRATE");
$y=0;
while($loop[$y]!=''){
$pageed = ereg_replace(".*<$loop[$y]>", "", $page);
$scphp = strtolower($loop[$y]);
$$scphp = ereg_replace("</$loop[$y]>.*", "", $pageed);
if($loop[$y]==SERVERGENRE || $loop[$y]==SERVERTITLE || $loop[$y]==SONGTITLE || $loop[$y]==SERVERTITLE)
$$scphp = urldecode($$scphp);
// uncomment the next line to see all variables
//echo'$'.$scphp.' = '.$$scphp.'<br>';
$y++;
}
//end intro xml elements
######################################################################################################################
######################################################################################################################
/////////////////////////part 2\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//get song info and history
$pageed = ereg_replace(".*<SONGHISTORY>", "", $page);
$pageed = ereg_replace("<SONGHISTORY>.*", "", $pageed);
$songatime = explode("<SONG>", $pageed);
$r=1;
while($songatime[$r]!=""){
$t=$r-1;
$playedat[$t] = ereg_replace(".*<PLAYEDAT>", "", $songatime[$r]);
$playedat[$t] = ereg_replace("</PLAYEDAT>.*", "", $playedat[$t]);
$song[$t] = ereg_replace(".*<TITLE>", "", $songatime[$r]);
$song[$t] = ereg_replace("</TITLE>.*", "", $song[$t]);
$song[$t] = urldecode($song[$t]);
$dj[$t] = ereg_replace(".*<SERVERTITLE>", "", $page);
$dj[$t] = ereg_replace("</SERVERTITLE>.*", "", $pageed);
$r++;
}
//end song info
fclose($scfp);
}
//display stats
if($streamstatus == "1"){
//you may edit the html below, make sure to keep variable intact
echo'
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link rel=stylesheet href="styles.css" type="text/css">
<meta http-equiv="refresh" content="5">
<title>'.$scdef.'</title>
</head>
<body text="" bgcolor="">
<p align="center"><center>
<img src="online.jpg"><br>
<b>Radio:</b> '.$servertitle.'<br>
<b>Posluchaci:</b> '.$currentlisteners.' / '.$maxlisteners.'<br>
<b>Bitrate:</b> '.$bitrate.'kbps<br>
<b>Song:</b> '.$song[0].'</p><b>
</p>
</body>
';
}
if($streamstatus == "0")
{
//you may edit the html below, make sure to keep variable intact
echo'
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<link rel=stylesheet href="styles.css" type="text/css">
<meta http-equiv="refresh" content="5">
<title>Radio Server Is Offline</title>
</head>
<body text="" bgcolor="">
<center>
<img src="offline.jpg">
</body>
';
}
?>
kdyz das icq poslu ti ten script a muzes ho vyzkouset .
jinak to hazi
Parse error: parse error in /3w/webz.cz/k/kunhuta11/web/radio_stats.php on line 62
<HTML>Někdo to přesně nakopíroval i s tou mezerou ve viewxm l. Jen tak pro zajímavost, hoďte pod file_get_contents výpis proměnné $page.</HTML>
<HTML>smažte:
<code>//end song info
fclose($scfp);
}</code></HTML>
To jsem smazal //end song info
jen ted nechapu co tam mam a kam vlozit muzes to napsat jeste jednou a presneji jestli to rozchodime budu moc rad
Warning: file_get_contents(): URL file-access is disabled in the server configuration in /3w/webz.cz/k/kunhuta11/web/radio_stats.php on line 18
Warning: file_get_contents(http://radio.ipip.cz:8068/admin.cgi?pass=xrsl574&mode=viewxml): failed to open stream: no suitable wrapper could be found in /3w/webz.cz/k/kunhuta11/web/radio_stats.php on line 18
<HTML>O allow_url_fopen jsem psal už několikrát. Je takový problém si to tady na fóru vyhledat?</HTML>
OMG! Hlavně že to tady bylo napsaný už snad 10x! Si v mládí upad na hlavu?
Ok, takže:
1) vytvoříš si soubor .htaccess (skrytý soubor bez přípony - pro M$ like - soubor bez názvu; pouze přípona). Do něj vrazíš následující řádek:
php_flag allow_url_fopen on
uložíš a hodíš do kořenového adresáře webu.
2) do kódu napíšeš:
<?php
$page = file_get_contents('http://'.$scip.':'.$scport.'/admin.cgi?pass='.$scpass.'&mode=viewxml');
if($page === FALSE) exit('A mám po prdeli...');
require_once 'tomuv_uzasny_skript.php';
$array = XMLParser($page);
echo '<pre>';
var_dump($array);
echo '</pre>';
?>
3) celý tohle uložíš a vrazíš na web
4) otevřeš stránku a uvidíš pole, obsahující data ze vstupního XML - nastyluješ jak je libo.
Opravdu je to tak těžký?
Ehm ... ok, takže dodatek:
1) pozdě :(
2) odkazovaný web vyžaduje HTTP autorizaci, takže jsi víš kde... (nápověda: v té části těla, kde záda ztrácejí svůj slušný název)
Dobrou noc :)
<HTML>Tom, je zajímavé, že původní skript (používající fsockopen) také nepočítá s HTTP autorizací.</HTML>
Aha takze to asi nerozchodim koukam ze je to v ......:-(
Nípal nevis co s tim teda?chjo?
Nípal: možná je to trochu OT, ale na ds.mysteria.cz, kde je PHP5 to pomocí:
php_flag allow_url_fopen on v .htaccess nejde podle phpinfo přepnout z původního nastavení Off na On.
Takže to vrací obvyklé:
Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /3w/mysteria.cz/d/ds/psl.php on line 2
Warning: file_get_contents(http://www.zelenepotraviny.com) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /3w/mysteria.cz/d/ds/psl.php on line 2
Na doméně unas.cz, kde je ještě PHP4 to funguje.
Tak prosim jak to udelat aby ten script fungoval.Ja uz vazne nevim a celkem me to mrzi ze to nejde.Budte tak hodny a zkuste to nekdo postelovat a napsat sem bylo by to super a hodne by to pomohlo.pls pls pls
=Jarda=
Vzhledem k tomu, co psal Tom (ze vybrany web vyzaduje http autorizaci), tak zrejme nefunguje spravne ani puvodni skript. S tim skriptem, ktery mas, to proste fungovat nebude ;)
=Jarda=
Edit - vybrana stranka opravdu vyzaduje httpautorizaci a jedine, co bys ziskal jako vysledek "tveho" puvodniho skriptu s pouzitim fsockopen by bylo neco ve smyslu
"HTTP/1.0 401 Unauthorized Server: Shoutcast DNAS www-authenticate: basic realm="Shoutcast Server" Content-type: text/html Unauthorized"
Jednoduse receno k zprovoznení skriptu, který projde autorizací potřebuješ znát přihlašovací jméno, heslo a využit socketové funkce, které na wz povolené NEJSOU a NEBUDOU;)
no možná by to chtělo, pokud se nemýlím, vykonat nějaké úkony na:
http://radio.ipip.cz/?p=reg
Je to to správné rádio?
Freeze Ten script funguje je funkcni uplne bez problemu tam kde neni zakazany fsockopen() mam to odzkouseny.Proto sem pisu a chtel bych vyresit jak to udelat tady jak to prepsat aby to fungovalo bez toho fsockopen() kdyz to tady maji zakazane kvuli bezpecnosti.
Jednoduse receno k zprovoznení skriptu, který projde autorizací potřebuješ znát přihlašovací jméno, heslo a využit socketové funkce, které na wz povolené NEJSOU a NEBUDOU;)
/// ano script ma stats.php zdroj co jsem poslal sem a jeste config.php a v tom je adress na strem kde vysilam plus heslo jmeno a port ale to je preci jasny.