-1

如果网页强制通过标题下载文件。示例如下图!

Trying_to_parse.php:

 header('Content-disposition: attachment; filename="examplefile.xml"');
 header('Content-type: "text/xml"; charset="utf8"');
 readfile('examplefile.xml');

使用 php im 尝试通过以下方式获取和解析此文件:

例子.php:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'trying_to_parse.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$xml = curl_exec($ch);
echo $xml;
curl_close($ch); 

这不起作用,因为 curl 他们没有标题。

所以我继续尝试了更多的东西,比如 fopen 和 file_get_... 这些也没有用。

关于如何实际加载强制通过标题下载的文件的任何想法?

我想使用:

$dom->loadXML($xml);

但是我什么都吃不了:)

我想解析访问 URL 时强制下载的 ForceDownloadedFile.xml 文件。任何想法?

4

1 回答 1

0

这是一个 301 重定向,因此您需要告诉 curl 遵循该重定向,并从新位置获取文件:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
于 2013-07-04T16:50:18.597 回答