PHP读取文件而不是下载

PHP读取文件而不是下载,php,parsing,dom,xml-parsing,Php,Parsing,Dom,Xml Parsing,如果网页强制通过标题下载文件。示例如下所示 正在尝试\u to \u parse.php: header('Content-disposition: attachment; filename="examplefile.xml"'); header('Content-type: "text/xml"; charset="utf8"'); readfile('examplefile.xml'); 使用php im试图通过以下方式获取和解析此文件: example.php: $ch = cur

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

正在尝试\u to \u parse.php:

 header('Content-disposition: attachment; filename="examplefile.xml"');
 header('Content-type: "text/xml"; charset="utf8"');
 readfile('examplefile.xml');
使用php im试图通过以下方式获取和解析此文件:

example.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\u get\u\u。。。这些也不起作用

关于如何实际加载通过头文件强制下载的文件,有什么想法吗

我想使用:

$dom->loadXML($xml);
但我什么都要:)


我想解析访问URL时强制下载的ForceDownloadedFile.xml文件。有什么想法吗?

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

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

你是说。这不允许读取或下载文件。否,但允许curl跟随重定向链,直到到达提供某些数据的url。关闭该选项后,curl将在第一个url上完全停止运行,因为它不允许转到google响应告诉它的地方。在重定向页面上,文件仍在下载,在随后的页面上也会下载。页面上从未提供过内容,这就是问题所在。当我访问该页面时,我想不出如何获取google试图强制下载的文件。取出
echo$xml
,然后呢?您已经启用了returntransfer,所以curl不可能向运行此脚本的任何对象输出任何内容,除非你自己做。我不知道这如何帮助我抓取通过标题强制下载的文件。请联系该网站供应商获取API访问。这个问题似乎离题了,因为它是关于对第三方网站的支持请求。不,这是一个一般性问题,你只是看不到,就像垃圾邮件一样!编辑它,让像你这样的人可以更容易地看到它!我再次为您做了一个小编辑,因为您仍然看不到问题!你想要一把小提琴来回答这个问题吗?再次为你做了一些更正!你看到有效的问题了吗?