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 相关文章推荐
Adodb的十个实例(清晰版)
Dec 31 PHP
Ubuntu中启用php的mail()函数并解决发送邮件速度慢问题
Mar 27 PHP
Linux系统递归生成目录中文件的md5的方法
Jun 29 PHP
PHP随机数 C扩展随机数
May 04 PHP
php获取远程图片并下载保存到本地的方法分析
Oct 08 PHP
php5.3后静态绑定用法详解
Nov 11 PHP
PHP实现图片批量打包下载功能
Mar 01 PHP
PHP中Notice错误常见解决方法
Apr 28 PHP
Yii框架实现图片上传的方法详解
May 20 PHP
Django 中 cookie的使用
Aug 17 PHP
php实现的后台表格分页功能示例
Oct 23 PHP
详解php协程知识点
Sep 21 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
SONY SRF-40W电路分析
2021/03/02 无线电
造就帕卡马拉的帕卡斯是怎么被发现的
2021/03/03 咖啡文化
Server.HTMLEncode让代码在页面里显示为源代码
2013/12/08 PHP
PHP magento后台无法登录问题解决方法
2016/11/24 PHP
PHP从数组中删除元素的四种方法实例
2017/05/12 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
NodeJS的模块写法入门(实例代码)
2012/03/07 NodeJs
使用nodejs、Python写的一个简易HTTP静态文件服务器
2014/07/18 NodeJs
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
JS实现的图片预览插件与用法示例【不上传图片】
2016/11/25 Javascript
基于vue-cli 打包时抽离项目相关配置文件详解
2018/03/07 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
2020/06/05 Javascript
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
在Python上基于Markov链生成伪随机文本的教程
2015/04/17 Python
Python运维自动化之nginx配置文件对比操作示例
2018/08/29 Python
python 高效去重复 支持GB级别大文件的示例代码
2018/11/08 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
Python操作Sonqube API获取检测结果并打印过程解析
2019/11/27 Python
Python3 全自动更新已安装的模块实现
2020/01/06 Python
python pprint模块中print()和pprint()两者的区别
2020/02/10 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
python简单实现最大似然估计&amp;scipy库的使用详解
2020/04/15 Python
python判断是空的实例分享
2020/07/06 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
vue+django实现下载文件的示例
2021/03/24 Vue.js
给同事的道歉信
2014/01/11 职场文书
通信工程专业求职信
2014/06/04 职场文书
关于有小孩的离婚协议书
2014/10/26 职场文书
Nginx反向代理多个服务器的实现方法
2021/03/31 Servers
Pandas-DataFrame知识点汇总
2022/03/16 Python