0

このコードを実行すると:

<?php
$rss = simplexml_load_file('http://stackoverflow.com/feeds');
?>
<h1><?php echo $rss->title; ?></h1>
<ul>
<?php
foreach($rss->entry as $e) {
    echo "<li><a href=\"".$e->link['href']."\">";
    echo $e->title;     
    echo "</a></li>\n";
}    
?>
</ul>

次のエラーが生成されます。

Warning: simplexml_load_file(http://stackoverflow.com/feeds) [function.simplexml-load-file]: failed to open stream: Permission denied in /home/www/cheapflightshunt.co.uk/aaaa.php on line 2

Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://stackoverflow.com/feeds" in /home/www/cheapflightshunt.co.uk/aaaa.php on line 2

Warning: Invalid argument supplied for foreach() in /home/www/cheapflightshunt.co.uk/aaaa.php on line 7

私の共有ホスティングは PHP5.2.17 で実行されています

解決策を提供してください。

前もって感謝します。

4

1 に答える 1

1

あなたのコードは完全に機能します。あなたの現在の設定では、URL 経由の fopen が許可されていないと思われます

それを確認してみてください。

その設定を変更できない場合は、代わりに CURL を試してください。

<?php
$ch = curl_init('http://stackoverflow.com/feeds');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
$rss = new SimpleXMLElement($data);
?>
<h1><?php echo $rss->title; ?></h1>
<ul>
<?php
foreach($rss->entry as $e) {
    echo "<li><a href=\"".$e->link['href']."\">";
    echo $e->title;     
    echo "</a></li>\n";
}    
?>
</ul>
于 2011-11-13T11:42:37.183 に答える