cURL - 下载文件(大小错误)

时间:2013-12-09 01:59:50

标签: php file video curl stream

我想从另一台服务器获取一个视频文件,然后在我的网站上以流媒体方式打开它。

我这样做了:

$ch = curl_init('http://example.com/file.flv');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $result = curl_exec($ch);
        header("Content-Type: video/flv");
        header("Content-Disposition: attachment; filename=video.flv;" );
        header("Content-Length: ".$size);
        readfile($result);

但是文件大小有问题,它总是显示错误的文件大小(太小)

我必须使用cURL,因为只有我的服务器IP可以从视频服务器获取视频。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

readfile()用于读取文件并将其写入输出,使用echo代替,否则,使用strlen获取内容长度,请尝试下面的代码:

$ch = curl_init('http://example.com/file.flv');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$size = strlen($result);
header("Content-Type: video/flv");
header("Content-Disposition: attachment; filename=video.flv;" );
header("Content-Length: ".$size);
echo $result;