function download($file_path,$file_name){

$file_name = iconv("UTF-8","GB2312",$file_name);

$file = $file_path.$file_name;


if(!file_exists($file)){

echo "该文件不存在";

die();

}

$filesize = filesize($file);

$fp = fopen($file,"r");

//返回的文件

header("Content-type: application/octet-stream");

//按照字节大小返回

header("Accept-Ranges: bytes");

//返回文件大小

header("Accept-Length: $filesize");

//这里客户端的弹出对话框,对应的文件名

header("Content-Disposition: attachment; filename=".$file_name);

$buffer = 1024;

$count = 0;

while(!feof($fp) || ($count< $filesize)){

$data = fread($fp,$buffer);

$count+=$buffer;

echo $data;

}

fclose($fp);

}

©著作权归作者所有:来自51CTO博客作者wx5926490d23476的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 电商快递物流电子面单HTML接口API案例代码
  2. 电商快递物流电子面单复打API接口案例
  3. java中Future的使用
  4. 【BBED】 SYSTEM文件头损坏的恢复(4)
  5. zabbix监控默认的item key列表
  6. Shell编程案例:统计指定目录下指定文件大小的个数及总和
  7. MySQL中的运算符
  8. MySQL常用函数
  9. Python3中的运算符

随机推荐

  1. Android(安卓)UI自动化测试最佳实践
  2. 微服务权限终极解决方案,Spring Cloud Gat
  3. 写了100多篇原创文章,我常用的在线工具网
  4. 互联网/电商/广告常见的术语
  5. 给Swagger升级了新版本,没想到居然有这么
  6. 记一次愚蠢的操作--String不可变性
  7. 性能优越的轻量级日志收集工具,微软、亚马
  8. PMP晋级之路
  9. 一次授权的安全测试
  10. 给Swagger换了个新皮肤,瞬间高大上了!