我有问题通过php流式传输mp4文件。 文件下载挂起1MB。你可以在这里看到它: 我已经尝试了很多标题并阅读了许多主题,但是很多主题都没有得到解决或者没有帮助我,比如这个:MP4 plays when accessed directly, but not when read through PHP, on iOS。有什么帮助吗?
有我的代码:
<?
$root=getenv("DOCUMENT_ROOT");
$file = "$root/".$_GET['get'];
header("Content-Type: video/mp4");
//header("Content-Type: application/octet-stream"); // downloads the file
$start=0;
$size = filesize($file);
$length = $size;
$end = $size - 1;
//header('HTTP/1.1 206 Partial Content');
header("Accept-Ranges: $start-$end");
header("Content-Range: bytes $start-$end/$size");
header("Content-Length: $length");
$data = fopen("$file", "r");
fseek($data, $start);
$bytesleft = $size-$start + 1;
$buffer = 1024 * 256; // 256kb
while(!feof($data)){
if($bytesleft > $buffer){
echo fread($data, $buffer);
flush();
}else{
echo fread($data, $bytesleft);
flush();
}
//sleep(1); // Speedlimit = one buffer per second
}
fclose($data);
exit;
?>
提前致谢
答案 0 :(得分:0)
没关系。我从服务器下载了该文件,并将其与存储在服务器上的原始文件进行了比较。 下载的那个在开始时还有一个字节:0A,这就是问题所在。现在一切都有效。