次のコードを開発します。
if (time() - filemtime('current.txt') > 5)
{
$xml = simplexml_load_file("http://live.liveradio.ir:8000/liveradiomp3_48.xspf");
foreach($xml->children() as $child)
{
if ($child->getName() == 'trackList')
{
foreach($child as $child2)
{
if ($child2->getName() == 'track')
{
foreach($child2 as $child3)
{
if ($child3->getName() == 'title')
{
$fp = fopen('current.txt', 'w');
fwrite($fp, json_encode(array('data',$child3)));
fclose($fp);
}
}
}
}
}
}
}
echo (file_get_contents('current.txt'));
しかし、実行すると次のページが表示されます。
サーバーエラー http://liveradio.ir/temp.php の取得中に Web サイトでエラーが発生しました。メンテナンスのために停止しているか、正しく構成されていない可能性があります。 以下にいくつかの提案を示します。 このウェブページをあとでリロードしてください。 HTTP エラー 500 (内部サーバー エラー): サーバーが要求を実行しようとしているときに、予期しない状況が発生しました。
temp.php
との許可current.txt
は777です。次の行にコメントすると、問題は解決しました。
$fp = fopen('current.txt', 'w');
fwrite($fp, json_encode(array('data',$child3)));
fclose($fp);
echo (file_get_contents('current.txt'));
問題はどこだ?このコードは localhost で正しく動作します。