我需要下载一个大文件,还需要获取标题才能获得重定向位置(状态代码302)。
我用这个:
curl_setopt($ch, CURLOPT_FILE, $file);
curl_setopt($ch, CURLOPT_HEADER, true);
现在问题如下:
它也将标题数据写入输出文件。
有没有办法只写内容?
只是说清楚。我想要的只是获取标题,但我希望只有正文才能写入文件。另请注意,我不能将身体数据存储到变量中,因为它是视频数据,因此也是大(memory_limit)。
答案 0 :(得分:5)
在@Bishop的帮助下,我得到了可行的解决方案:
$url = 'example.com';
$file = fopen('body.txt', 'w');
$file_header = fopen('headers.txt', 'w')
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_WRITEHEADER, $file_header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_FILE, $file);
$data = curl_exec($ch);
现在我在一个单独的文件中有标题,可以通过使用:
从那里获取它 file_get_contents('headers.txt');