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类
Jul 15 PHP
php+dojo 的数据库保存拖动布局的一个方法dojo 这里下载
Mar 07 PHP
基于OpenCV的PHP图像人脸识别技术
Oct 11 PHP
一些被忽视的PHP函数(简单整理)
Apr 30 PHP
pdo中使用参数化查询sql
Aug 11 PHP
php获取新浪微博数据API实例
Nov 12 PHP
学习php中的正则表达式
Aug 17 PHP
PHP实现的memcache环形队列类实例
Jul 28 PHP
php实现转换html格式为文本格式的方法
May 16 PHP
php+Memcached实现简单留言板功能示例
Feb 15 PHP
php正则表达式基本知识与应用详解【经典教程】
Apr 17 PHP
Yii框架自定义数据库操作组件示例
Nov 11 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
实现“上一页”和“下一页按钮
2006/10/09 PHP
PHP 缓存实现代码及详细注释
2010/05/16 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
JS 获取浏览器和屏幕宽高等信息代码
2014/03/31 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
2014/06/16 Javascript
JavaScript模拟实现键盘打字效果
2015/06/29 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
Javascript基础回顾之(一) 类型
2017/01/31 Javascript
Bootstrap禁用响应式布局的实现方法
2017/03/09 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
JavaScript实现前端分页控件
2017/04/19 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
JS获取当前地理位置的方法
2017/10/25 Javascript
vue单页缓存方案分析及实现
2018/09/25 Javascript
深入浅析Node.js 事件循环、定时器和process.nextTick()
2018/10/22 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
python 产生token及token验证的方法
2018/12/26 Python
python tkinter实现屏保程序
2019/07/30 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
python实现串口通信的示例代码
2020/02/10 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
python爬虫实例之获取动漫截图
2020/05/31 Python
基于python图书馆管理系统设计实例详解
2020/08/05 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
2020/11/13 Python
泰国网上购物:Shopee泰国
2018/09/14 全球购物
Python面试题:如何用Python来发送邮件
2016/03/15 面试题
银行求职信个人范文
2013/12/16 职场文书
打架检讨书100字
2014/01/19 职场文书
挂职自我鉴定
2014/02/26 职场文书
啤酒节策划方案
2014/05/28 职场文书
社会实践的活动方案
2014/08/22 职场文书
护士先进个人总结
2015/02/13 职场文书
MySQL数据管理操作示例讲解
2022/12/24 MySQL