我正在尝试打开XML文件,但是我收到了这些错误:
Warning: simplexml_load_file(http://www.bva.fr/fr/rss/sondages.xml) [function.simplexml-load-file]: failed to open stream: Redirection limit reached, aborting in /xxx/import.php on line 93
Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "http://www.bva.fr/fr/rss/sondages.xml" in /xxx/import.php on line 93
Notice: Trying to get property of non-object in /xxx/import.php on line 99
Warning: Invalid argument supplied for foreach() in /xxx/import.php on line 99
第99行是:
foreach($xml->channel->item as $item)
我试过了:
$xml = simplexml_load_file($url);
并且:
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
$content = curl_exec($curl);
curl_close($curl);
$xml = simplexml_load_string($content);
但它仍然不起作用......
以下是XML文件:http://www.bva.fr/fr/rss/sondages.xml
你能帮我吗?
答案 0 :(得分:1)
您可以尝试添加补充卷曲选项:以下是完整示例,可以使用此RSS站点。
$options = array(
CURLOPT_RETURNTRANSFER => true, // return web page
CURLOPT_HEADER => false, // don't return headers
CURLOPT_FOLLOWLOCATION => true, // follow redirects
CURLOPT_ENCODING => "", // handle all encodings
CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0", // something like Firefox
CURLOPT_AUTOREFERER => true, // set referer on redirect
CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect
CURLOPT_TIMEOUT => 120, // timeout on response
CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
);
在您的示例中使用此curl_setopt($curl, CURLOPT_URL, $url);
替换curl_setopt_array( $curl, $options );
。