我不知道如何写一个更好的标题。随意编辑。不知何故,我没有找到任何东西:
我有一个来自 PHP 的 cURL 请求,它返回一个 quicktime 文件。如果我想在浏览器窗口中输出流,这很好用。但我想发送它,因为它是一个真实的文件。如何传递标头并将其设置为脚本的输出,而无需将所有内容存储在变量中。
脚本如下所示:
if (preg_match('/^[\w\d-]{36}$/',$key)) {
// create url
$url = $remote . $key;
// init cURL request
$ch = curl_init($url);
// set options
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_setopt($ch, CURLOPT_BUFFERSIZE, 256);
if (null !== $username) {
curl_setopt($ch, CURLOPT_USERPWD, $username . ':' . $password);
}
// execute request
curl_exec($ch);
// close
curl_close($ch);
}
我可以看到这样的标题和内容,所以请求本身工作正常:
HTTP/1.1 200 OK X-Powered-By: Servlet/3.0 JSP/2.2 (GlassFish Server Open Source Edition 3.1.2 Java/Oracle Corporation/1.7) 服务器: GlassFish Server Open Source Edition 3.1.2 内容类型: video/quicktime传输编码:分块