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 与 MySQL 数据库操作函数详解
Oct 09 PHP
php下使用SimpleXML 处理XML 文件
Feb 27 PHP
php入门学习知识点一 PHP与MYSql连接与查询
Jul 14 PHP
php中将字符串转为HTML的实体引用的一个类
Feb 03 PHP
编写安全 PHP应用程序的七个习惯深入分析
Jun 08 PHP
一个基于phpQuery的php通用采集类分享
Apr 09 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
Oct 30 PHP
php实现将字符串按照指定距离进行分割的方法
Mar 14 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
Jan 07 PHP
PHP实现判断数组是一维、二维或几维的方法
Feb 06 PHP
php格式文件打开的四种方法
Feb 24 PHP
Mac下关于PHP环境和扩展的安装详解
Oct 17 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 magic_quotes_gpc的一点认识与分析
2008/08/18 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
php比较两个字符串长度的方法
2015/07/13 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
老生常谈PHP 文件写入和读取(必看篇)
2017/05/22 PHP
PHP实现15位身份证号转18位的方法分析
2019/10/16 PHP
Gird事件机制初级读本
2007/03/10 Javascript
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
得到form下的所有的input的js代码
2013/11/07 Javascript
JS版微信6.0分享接口用法分析
2016/10/13 Javascript
微信小程序 数据遍历的实现
2017/04/05 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
Bootstrap一款超好用的前端框架
2017/09/25 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
Vue源码解析之Template转化为AST的实现方法
2018/12/14 Javascript
js实现简单图片拖拽效果
2021/02/22 Javascript
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
[05:09]2016国际邀请赛中国区预选赛淘汰赛首日精彩回顾
2016/06/29 DOTA
python 合并文件的具体实例
2013/08/08 Python
深入Python解释器理解Python中的字节码
2015/04/01 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
PyCharm代码格式调整方法
2018/05/23 Python
python数据归一化及三种方法详解
2019/08/06 Python
利用OpenCV和Python实现查找图片差异
2019/12/19 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
2020/01/21 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
Python转换字典成为对象,可以用&quot;.&quot;方式访问对象属性实例
2020/05/11 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
2020/06/04 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
Python 获取异常(Exception)信息的几种方法
2020/12/29 Python
宪法宣传周工作方案
2014/05/26 职场文书
2014银行授权委托书样本
2014/10/04 职场文书
《窃读记》教学反思
2016/02/18 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书