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 5.3.0 安装分析心得
Aug 07 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
Apr 08 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
Sep 22 PHP
PHP利用header跳转失效的解决方法
Oct 24 PHP
php清除和销毁session的方法分析
Mar 19 PHP
php中session_id()函数详细介绍,会话id生成过程及session id长度
Sep 23 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
Dec 14 PHP
CodeIgniter视图使用注意事项
Jan 20 PHP
Zend Framework动作助手FlashMessenger用法详解
Mar 05 PHP
Zend Framework入门知识点小结
Mar 19 PHP
php微信开发之自定义菜单完整流程
Oct 08 PHP
Laravel 自带的Auth验证登录方法
Sep 30 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
第七节 类的静态成员 [7]
2006/10/09 PHP
php实现执行某一操作时弹出确认、取消对话框
2013/12/30 PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
2014/06/26 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
php上传大文件失败的原因及应对策略
2015/10/20 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
JavaScript 创建对象
2009/07/17 Javascript
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
js 幻灯片的实现
2011/12/06 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
2014/06/20 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
JS实现简单的天数计算器完整实例
2017/04/28 Javascript
javascript自定义事件功能与用法实例分析
2017/11/08 Javascript
vue+iview+less 实现换肤功能
2018/08/17 Javascript
vue添加axios,并且指定baseurl的方法
2018/09/19 Javascript
nodejs读取本地中文json文件出现乱码解决方法
2018/10/10 NodeJs
vue实现codemirror代码编辑器中的SQL代码格式化功能
2019/08/27 Javascript
JS async 函数的含义和用法实例总结
2020/04/08 Javascript
[01:44]剑指西雅图 展望TI之CIS战队专访
2014/06/25 DOTA
Python Web框架Flask中使用新浪SAE云存储实例
2015/02/08 Python
python递归实现快速排序
2018/08/18 Python
Python2与Python3的区别实例分析
2019/04/11 Python
python计算二维矩形IOU实例
2020/01/18 Python
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
Perfume’s Club英国官网:购买香水和护肤品
2019/11/02 全球购物
PHP如何自定义函数
2016/09/16 面试题
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
幼儿园长自我鉴定
2013/10/17 职场文书
大学毕业自我评价
2014/02/02 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
年度优秀员工获奖感言
2014/08/15 职场文书
领导干部群众路线教育实践活动剖析材料
2014/10/10 职场文书
python使用pycharm安装pyqt5以及相关配置
2022/04/22 Python