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实际应用经验篇(6)
Oct 09 PHP
URL Rewrite的设置方法
Jan 02 PHP
PHP操作文件方法问答
Mar 16 PHP
php escape URL编码
Dec 10 PHP
sourcesafe管理phpproj文件的补充说明(downmoon)
Apr 11 PHP
Apache2中实现多网站域名绑定的实现方法
Jun 01 PHP
php实现在线生成条形码示例分享(条形码生成器)
Dec 30 PHP
分享常见的几种页面静态化的方法
Jan 08 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
Oct 16 PHP
PHP使用http_build_query()构造URL字符串的方法
Apr 02 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
Apr 20 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中变量及部分适用方法
2008/03/27 PHP
PHP strtr() 函数使用说明
2008/11/21 PHP
php 数组二分法查找函数代码
2010/02/16 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
Node.js中使用socket创建私聊和公聊聊天室
2015/11/19 Javascript
整理Javascript流程控制语句学习笔记
2015/11/29 Javascript
javascript实现的猜数小游戏完整实例代码
2016/05/10 Javascript
使用原生js+canvas实现模拟心电图的实例
2017/09/20 Javascript
Vuejs实现购物车功能
2017/11/05 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
微信小程序实现录音时的麦克风动画效果实例
2019/05/18 Javascript
js实现div色块碰撞
2020/01/16 Javascript
JS函数本身的作用域实例分析
2020/03/16 Javascript
vue基于better-scroll实现左右联动滑动页面
2020/06/30 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
[24:42]VP vs TNC Supermajor小组赛B组 BO3 第三场 6.2
2018/06/03 DOTA
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
python实现的简单抽奖系统实例
2015/05/22 Python
python套接字流重定向实例汇总
2016/03/03 Python
Python守护线程用法实例
2017/06/23 Python
Python面向对象之接口、抽象类与多态详解
2018/08/27 Python
python实现Flappy Bird源码
2018/12/24 Python
python 使用pandas计算累积求和的方法
2019/02/08 Python
Python实现对特定列表进行从小到大排序操作示例
2019/02/11 Python
python机器人运动范围问题的解答
2019/04/29 Python
Giglio德国网上精品店:奢侈品服装和配件
2016/09/23 全球购物
英语演讲稿范文
2014/01/03 职场文书
新闻专业学生的自我评价
2014/02/13 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
沈阳故宫导游词
2015/01/31 职场文书
导游词之江南园林狮子林
2019/09/16 职场文书