php实现文件下载简单示例(代码实现文件下载)


Posted in PHP onMarch 10, 2014
public function downloads($name){
$name_tmp = explode("_",$name);
$type = $name_tmp[0];
$file_time = explode(".",$name_tmp[3]);
$file_time = $file_time[0];
$file_date = date("Y/md",$file_time);
$file_dir = SITE_PATH."/data/uploads/$type/$file_date/"; 
if (!file_exists($file_dir.$name)){
 header("Content-type: text/html; charset=utf-8");
 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);
}
}

示例2:代码实现文件下载

一般实现下载都是调用url来下载,但是遇到ie能识别打开的文件就不能用这种方式了,比如下载一个图片、html网页等,这时就需要编程来实现,以下php代码可以解决:

<?
if( empty($_GET['FileName'])|| empty($_GET['FileDir'])|| empty($_GET['FileId'])){
    echo'<script> alert("非法连接 !"); location.replace ("index.php") </script>'; exit();
}
$file_name=$_GET['FileName'];
$file_dir=$_GET['FileDir'];
$FileId=$_GET['FileId'];
$file_dir = $file_dir."/";
if   (!file_exists($file_dir.$file_name))   {   //检查文件是否存在  
  echo   "文件找不到";  
  exit;    
  }   else   {  
$file = fopen($file_dir . $file_name,"r"); // 打开文件
// 输入文件标签
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($file_dir . $file_name));
Header("Content-Disposition: attachment; filename=" . $file_name);
// 输出文件内容
echo fread($file,filesize($file_dir . $file_name));
fclose($file);
exit();
}
?>
PHP 相关文章推荐
php生成EXCEL的东东
Oct 09 PHP
php中并发读写文件冲突的解决方案
Oct 25 PHP
php中过滤非法字符的具体实现
Oct 29 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
php使用数组填充下拉列表框的方法
Mar 31 PHP
php实现从上传文件创建缩略图的方法
Apr 02 PHP
用PHP代码在网页上生成图片
Jul 01 PHP
php使用APC实现实时上传进度条功能
Oct 26 PHP
php编程每天必学之验证码
Mar 03 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
Mar 15 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 PHP
PHP单元测试配置与使用方法详解
Dec 27 PHP
php实现文件编码批量转换
Mar 10 #PHP
php导出word文档与excel电子表格的简单示例代码
Mar 08 #PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
Mar 08 #PHP
PHP_Cooikes不同页面无法传递的解决方法
Mar 07 #PHP
php function用法如何递归及return和echo区别
Mar 07 #PHP
详解PHP中strlen和mb_strlen函数的区别
Mar 07 #PHP
解决Codeigniter不能上传rar和zip压缩包问题
Mar 07 #PHP
You might like
PHP获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
jQuery timers计时器简单应用说明
2010/10/28 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
简略说明Javascript中的= =(等于)与= = =(全等于)区别
2013/04/16 Javascript
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
浅谈javascript中onbeforeunload与onunload事件
2015/12/10 Javascript
JavaScript_object基础入门(必看篇)
2016/06/13 Javascript
基于jQuery实现一个marquee无缝滚动的插件
2017/03/09 Javascript
JS实现监控微信小程序的原理
2018/06/15 Javascript
JavaScript实现的简单Tab点击切换功能示例
2018/07/06 Javascript
利用jsonp解决js读取本地json跨域的问题
2018/12/11 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
[51:53]DOTA2-DPC中国联赛 正赛 RNG vs Dragon BO3 第二场 1月24日
2021/03/11 DOTA
Python写的一个简单DNS服务器实例
2014/06/04 Python
Python iter()函数用法实例分析
2018/03/17 Python
Django异步任务之Celery的基本使用
2019/03/23 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
2019/09/20 Python
Centos7 下安装最新的python3.8
2019/10/28 Python
python 实现在无序数组中找到中位数方法
2020/03/03 Python
Keras—embedding嵌入层的用法详解
2020/06/10 Python
Python生成器传参数及返回值原理解析
2020/07/22 Python
小结Python的反射机制
2020/09/28 Python
python实现计算图形面积
2021/02/22 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
可爱的童装和鞋子:Fabkids
2019/08/16 全球购物
Haggar官网:美国男装品牌
2020/02/16 全球购物
泰国在线书店:SE-ED
2020/06/21 全球购物
汇科协同Java笔试题
2012/03/31 面试题
超市重阳节活动方案
2014/02/10 职场文书
《散步》教学反思
2014/03/02 职场文书
抗洪救灾标语
2014/10/08 职场文书
2015年校长新年寄语
2014/12/08 职场文书
务工证明怎么写
2015/06/18 职场文书
基于CSS制作创意端午节专属加载特效
2022/06/01 HTML / CSS