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 相关文章推荐
php4的彩蛋
Oct 09 PHP
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
Feb 22 PHP
解析wamp5下虚拟机配置文档
Jun 27 PHP
php读取flash文件高宽帧数背景颜色的方法
Jan 06 PHP
php+ajax实时刷新简单实例
Feb 25 PHP
php实现过滤UBB代码的类
Mar 12 PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
Nov 30 PHP
PHP实现打包下载文件的方法示例
Oct 07 PHP
php取出数组单个值的方法
Mar 12 PHP
PHP实现动态创建XML文档的方法
Mar 30 PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 PHP
PHP实现创建以太坊钱包转账等功能
Apr 21 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处理excel cvs表格的方法实例介绍
2013/05/13 PHP
php数组索引的Key加引号和不加引号的区别
2014/08/19 PHP
PHP中文乱码解决方案
2015/03/05 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
国外Lightbox v2.03.3 最新版 下载
2007/10/17 Javascript
JavaScript 异步方法队列链实现代码分析
2010/06/05 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
javascript 数组操作详解
2015/01/29 Javascript
在web中js实现类似excel的表格控件
2016/09/01 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(下)
2018/04/18 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
[00:11]战神迅矛
2019/03/06 DOTA
python使用cookielib库示例分享
2014/03/03 Python
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
Python的IDEL增加清屏功能实例
2017/06/19 Python
Python编程实现的简单神经网络算法示例
2018/01/26 Python
详解PyCharm配置Anaconda的艰难心路历程
2018/08/13 Python
在matplotlib的图中设置中文标签的方法
2018/12/13 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
2019/01/14 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
传统HTML页面实现模块化加载的方法
2018/10/15 HTML / CSS
HTML5微信播放全屏问题的解决方法
2017/03/09 HTML / CSS
在canvas上实现元素图片镜像翻转动画效果的方法
2018/03/20 HTML / CSS
招商业务员岗位职责
2013/12/16 职场文书
自我鉴定书面格式
2014/01/13 职场文书
销售业务员岗位职责
2014/01/29 职场文书
酒店管理毕业生自荐信
2014/05/25 职场文书
泰坦尼克号观后感
2015/06/04 职场文书
企业法律事务工作总结
2015/08/11 职场文书
运动会广播稿100字
2015/08/19 职场文书
html5中sharedWorker实现多页面通信的示例代码
2021/05/07 Javascript
python实现自定义日志的具体方法
2021/05/28 Python