php 下载保存文件保存到本地的两种实现方法


Posted in PHP onAugust 12, 2013

第一种:

<?php 
function downfile()
{
 $filename=realpath("resume.html"); //文件名
 $date=date("Ymd-H:i:m");
 Header( "Content-type:  application/octet-stream "); 
 Header( "Accept-Ranges:  bytes "); 
Header( "Accept-Length: " .filesize($filename));
 header( "Content-Disposition:  attachment;  filename= {$date}.doc"); 
 echo file_get_contents($filename);
 readfile($filename); 
}
downfile();
?>


<?php 
function downfile($fileurl)
{
 ob_start(); 
 $filename=$fileurl;
 $date=date("Ymd-H:i:m");
 header( "Content-type:  application/octet-stream "); 
 header( "Accept-Ranges:  bytes "); 
 header( "Content-Disposition:  attachment;  filename= {$date}.doc"); 
 $size=readfile($filename); 
  header( "Accept-Length: " .$size);
}
 $url="url地址";
 downfile($url);
?>

第二种:

<?php 
function downfile($fileurl)
{
$filename=$fileurl;
$file  =  fopen($filename, "rb"); 
Header( "Content-type:  application/octet-stream "); 
Header( "Accept-Ranges:  bytes "); 
Header( "Content-Disposition:  attachment;  filename= 4.doc"); 
$contents = "";
while (!feof($file)) {
 $contents .= fread($file, 8192);
}
echo $contents;
fclose($file); 
}
$url="url地址";
downfile($url);
?>

PHP实现下载文件的两种方法。分享下,有用到的朋友看看哦。

方法一:

<?php
/**
* 下载文件
* header函数
*
*/
header('Content-Description: File Transfer');

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($filepath));
header('Content-Transfer-Encoding: binary');
header('Expires: 0′);
header('Cache-Control: must-revalidate, post-check=0, pre-check=0′);
header('Pragma: public');
header('Content-Length: ' . filesize($filepath));
readfile($file_path);
?>

了解php中header函数的用法。

方法二:

<?php
//文件下载
//readfile
$fileinfo = pathinfo($filename);
header('Content-type: application/x-'.$fileinfo['extension']);
header('Content-Disposition: attachment; filename='.$fileinfo['basename']);
header('Content-Length: '.filesize($filename));
readfile($thefile);
exit();
?>
PHP 相关文章推荐
PHP 获取目录下的图片并随机显示的代码
Dec 28 PHP
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
Apr 28 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
May 10 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
基于php的CMS中展示文章类实例分析
Jun 18 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
Mar 25 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
Jun 06 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 PHP
Mac系统下安装PHP Xdebug
Mar 30 PHP
PHP使用pdo实现事务处理操作示例
Sep 05 PHP
laravel邮件发送的实现代码示例
Jan 31 PHP
PHP代码覆盖率统计详解
Jul 22 PHP
CodeIgniter上传图片成功的全部过程分享
Aug 12 #PHP
php实现MD5加密16位(不要默认的32位)
Aug 12 #PHP
php中的Base62类(适用于数值转字符串)
Aug 12 #PHP
PHP实现把数字ID转字母ID
Aug 12 #PHP
PHP计算2点经纬度之间的距离代码
Aug 12 #PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
Aug 10 #PHP
浅析php中常量,变量的作用域和生存周期
Aug 10 #PHP
You might like
PHP实现下载断点续传的方法
2014/11/12 PHP
PHP封装CURL扩展类实例
2015/07/28 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
YII视图整合kindeditor扩展的方法
2016/07/13 PHP
tp5框架基于ajax实现异步删除图片的方法示例
2020/02/10 PHP
两个DIV等高的JS的实现代码
2007/12/23 Javascript
js 纯数字不重复排列的另类方法
2010/07/17 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
2013/09/29 Javascript
js中settimeout方法加参数的使用实例
2014/02/27 Javascript
微信小程序中实现一对多发消息详解及实例代码
2017/02/14 Javascript
打字效果动画的4种实现方法(超简单)
2017/10/18 Javascript
微信小程序select下拉框实现效果
2019/05/15 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
[56:14]Fnatic vs OG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python中for语句简单遍历数据的方法
2015/05/07 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
Python OpenCV实现鼠标画框效果
2020/08/19 Python
Django xadmin开启搜索功能的实现
2019/11/15 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
解析HTML5的存储功能和web SQL的相关操作方法
2016/02/19 HTML / CSS
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
欧洲顶级的童装奢侈品购物网站:Bambini Fashion(面向全球)
2018/04/24 全球购物
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
什么样的创业计划书可行性高?
2014/02/01 职场文书
出纳担保书范文
2014/04/02 职场文书
大学三年计划书范文
2014/04/30 职场文书
企业晚会策划方案
2014/05/29 职场文书
祖国在我心中演讲稿200字
2014/08/28 职场文书
软件测试专业推荐信
2014/09/18 职场文书
拾金不昧感谢信
2015/01/21 职场文书
安全生产会议制度
2015/08/06 职场文书
担保书范文
2019/07/09 职场文书
Python 实现Mac 屏幕截图详解
2021/10/05 Python
nginx静态资源的服务器配置方法
2022/07/07 Servers