CURLOPT_FILE不写标题

时间:2013-12-29 01:47:15

标签: php

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

我用这个:

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

现在问题如下:

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

有没有办法只写内容?

编辑:

只是说清楚。我想要的只是获取标题,但我希望只有正文才能写入文件。另请注意,我不能将身体数据存储到变量中,因为它是视频数据,因此也是大(memory_limit)。

1 个答案:

答案 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');