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类的使用 实例代码讲解
Dec 28 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
Dec 22 PHP
CI框架自动加载session出现报错的解决办法
Jun 17 PHP
PHP SESSION的增加、删除、修改、查看操作
Mar 20 PHP
PHP封装的HttpClient类用法实例
Jun 17 PHP
PHP pear安装配置教程
May 14 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
Sep 22 PHP
Nginx环境下PHP flush失效的解决方法
Oct 19 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
Jan 21 PHP
通过源码解析Laravel的依赖注入
Jan 22 PHP
PHP session垃圾回收机制实例分析
Jun 28 PHP
在laravel框架中实现封装公共方法全局调用
Oct 14 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 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法
2012/12/07 PHP
ThinkPHP的URL重写问题
2014/06/22 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
php时间函数用法分析
2016/05/28 PHP
php实现微信企业转账功能
2018/10/02 PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
2019/08/05 PHP
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
js解决弹窗问题实现班级跳转DIV示例
2014/01/06 Javascript
jQuery中:input选择器用法实例
2015/01/03 Javascript
jQuery获取select选中的option的value值实现方法
2016/08/29 Javascript
js点击任意区域弹出层消失实现代码
2016/12/27 Javascript
几种tab切换详解
2017/02/03 Javascript
js控制按钮,防止频繁点击响应的实例
2017/02/15 Javascript
Angular使用$http.jsonp发送跨站请求的方法
2017/03/16 Javascript
详解Nodejs之npm&amp;package.json
2017/06/15 NodeJs
ionic3+Angular4实现接口请求及本地json文件读取示例
2017/10/11 Javascript
vue slot 在子组件中显示父组件传递的模板
2018/03/02 Javascript
Node.Js生成比特币地址代码解析
2018/04/21 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
vuejs实现下拉框菜单选择
2020/10/23 Javascript
[00:33]2016完美“圣”典风云人物:Sccc宣传片
2016/12/03 DOTA
Python下的Mysql模块MySQLdb安装详解
2014/04/09 Python
简介Python中用于处理字符串的center()方法
2015/05/18 Python
Python文件去除注释的方法
2015/05/25 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
python 从csv读数据到mysql的实例
2018/06/21 Python
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
Tahari ASL官方网站:高级设计师女装
2021/03/15 全球购物
大学生2014全国两会学习心得体会
2014/03/10 职场文书
师德标兵先进事迹材料
2014/12/19 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
九年级英语教学反思
2016/02/15 职场文书
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle