simplexml_load_file奇怪的行为

时间:2013-08-09 17:00:32

标签: php simplexml

我有一个文件(sites.txt),它有两个条目:

http://www.url1.com/test1.xml
http://www.url2.com/test2

每当我执行下面的PHP代码时,'url1.com'返回false,'url2.com'被加载到$xml。奇怪的是,如果我交换文件中的URL,即

http://www.url2.com/test2
http://www.url1.com/test1.xml

它加载两者。这两个URL都是有效的XML文档。为什么订单在这里很重要?

代码:

if (file_exists('sites.txt')) {
    $file_handle = fopen("sites.txt", "r");
    while (!feof($file_handle)) {
        $site  = fgets($file_handle);
        $xml[] = simplexml_load_file($site);
}
fclose($file_handle);
}

1 个答案:

答案 0 :(得分:0)

尝试将文本文件更改为csv,然后在分隔符上展开文件的内容:

http://www.url1.com/test1.xml,
http://www.url2.com/test2

$file = fopen("sites.txt", "r"); 
$files = explode(",", $file);

听起来除了这个之外还有其他一些事情发生了,但你可能已经解决了......