<?php
/**
* 文件下载
* @param string $file_name 文件名
* @param string $file_sub_dir 文件子路径
* @return void
*/
function down_file($file_name,$file_sub_dir){
//1、将文件名转码
$file_name = iconv('utf-8', 'gb2312', $file_name);
//2、拼接文件绝对路径
$file_path = $_SERVER['DOCUMENT_ROOT'].$file_sub_dir.$file_name;
//3、判断文件是否存在
if(!file_exists($file_path)){
echo '文件不存在';
return ;
}
//4、打开文件
$fp = fopen($file_path, 'r');
//5、获取文件大小
$file_size = filesize($file_path);
//6、设置响应头
header('Content-Type: application/octet-stream');
header('Accept-Ranges: bytes');
header('Content-Length: '.$file_size);
header('Content-Disposition: attachment; filename='.$file_name);
//7、返回数据
$buffer = 1024;//定义每次写给客户端的大小,字节为单位
while(!feof($fp)){
$file_data = fread($fp, $buffer);
echo $file_data;
}
//8、关闭文件
fclose($fp);
}
//测试
down_file('01-nginx介绍及编译安装.wmv','/test/file/');
php文件下载
原创
©著作权归作者所有:来自51CTO博客作者heituan的原创作品,请联系作者获取转载授权,否则将追究法律责任
网络上志同道合,我们一起学习网络安全,一起进步,QQ群:694839022
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
php大文件下载时防止内存溢出的解决方案
大文件下载防止内容溢出
文件句柄 加载 打开文件 -
php文件下载功能
php文件下载功能的实现(笔记)
功能 文件下载 -
php下载文件操作
1:代码如下 <?php $filename = "鲜花.jpg"; //因为php的函数比较古老不识别utf-8码,
php file header buffer fp -
批量下载文件php
做了个照片墙,要提供批量下载照片的功能,如果你会文件下载,那批量也是小菜一碟,就是把文件打包压缩为 zip 文件再下载,而php的内置类ZipArchive()让你很容易实现。 首先,配置php.ini,找到zip模块,启用即可。 download.php <?php $idlist = $_POS
B/S大文件下载 断点续传 web大文件下载 断点续传 jsp大文件下载 断点续传 php大文件下载 断点续传 批量下载文件php
















