PHP怎么实现下载MP4格式 5

我代码写了,我测试了一下,好像就不能下载视频文件,如avi格式,mp4格式wmv格式都会出现下载成功后打开失败。求大神指教!!!<?phpheader("Content-... 我代码写了,我测试了一下,好像就不能下载视频文件,如avi格式,mp4格式wmv格式都会出现下载成功后打开失败。求大神指教!!!
<?php
header("Content-type: text/html; charset=utf-8");

$name = "01.png";//视频文件下载不了!!!
$file_dir = "F:/images/";
if (!file_exists($file_dir.$name)){
echo "File not found!";
exit;
} else {
$file = fopen($file_dir.$name,"r");
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($file_dir.$name));
Header("Content-Disposition: attachment; filename=".$name);
echo fread($file, filesize($file_dir.$name));
fclose($file);
}

?>
展开
 我来答
软件开发枫老师
2014-06-09 · TA获得超过585个赞
知道小有建树答主
回答量:599
采纳率:63%
帮助的人:334万
展开全部
悲剧 ,没那么 麻烦,直接链接到你MP4的路径就可以了,浏览器会提示下载
追问
直接连接到MP4得路径,现在的浏览器直接播放,而不是提示下载。因为浏览器现在可以识别mp4格式了。我现在想知道的是PHP如何实现,而不是走捷径。
追答
这个我测试过,可以的

<?php
$file_name="1.wmv";//需要下载的文件
$fp=fopen($file_name,"r+");//下载文件必须先要将文件打开,写入内存
if(!file_exists($file_name)){//判断文件是否存在
echo "文件不存在";
exit();
}
$file_size=filesize($file_name);//判断文件大小
//返回的文件
Header("Content-type: application/octet-stream");
//按照字节格式返回
Header("Accept-Ranges: bytes");
//返回文件大小
Header("Accept-Length: ".$file_size);
//弹出客户端对话框,对应的文件名
Header("Content-Disposition: attachment; filename=".$file_name);
//防止服务器瞬时压力增大,分段读取
$buffer=1024;
while(!feof($fp)){
$file_data=fread($fp,$buffer);
echo $file_data;
}
//关闭文件
fclose($fp);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式