繁体   English   中英

CURLOPT_FILE不写标题

[英]CURLOPT_FILE don't write headers

我需要下载一个大文件,还需要获取标题才能获取重定向位置(状态代码302)。

我用这个:

curl_setopt($ch, CURLOPT_FILE, $file);
curl_setopt($ch, CURLOPT_HEADER, true);

现在问题如下:

它也将头数据写入输出文件。

有办法只写内容吗?

编辑:

为了清楚起见。 我想要的只是获取标题,但我只希望将正文写入文件。 另外请记住,我不能将主体数据存储到变量中,因为它是视频数据,因此存储量很大(memory_limit)。

在@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');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM