Php 卷曲-下载文件(大小错误)

Php 卷曲-下载文件(大小错误),php,file,video,curl,stream,Php,File,Video,Curl,Stream,我想从另一台服务器获取一个视频文件,并在我的网站flowplayer中打开它 我这样做: $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-

我想从另一台服务器获取一个视频文件,并在我的网站flowplayer中打开它

我这样做:

$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才能从视频服务器获取视频

感谢帮助

用于读取文件并将其写入输出,请使用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;

谢谢你的帮助,但是我发现了另一个问题,当我使用你的方法时,脚本首先尝试下载文件(我想是为了获得文件有多大的信息),然后就开始工作了。当我尝试在没有flowplayer的情况下运行脚本时,加载网站大约需要20分钟,20分钟后下载窗口弹出。有没有更快的方法??不需要等待20分钟,服务器就可以检查文件有多大??是否可以实时计算文件的大小?什么时候视频会在flowplayer中播放?我想你需要的是分块传输,检查这个。