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 相关文章推荐
增加反向链接的101个方法 站长推荐
Jan 31 PHP
PHP无刷新上传文件实现代码
Sep 19 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
Nov 26 PHP
PHP添加Xdebug扩展的方法
Feb 12 PHP
ThinkPHP缓存方法S()概述
Jun 13 PHP
destoon调用企业会员公司形象图片的实现方法
Aug 21 PHP
PHP实现恶意DDOS攻击避免带宽占用问题方法
May 27 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 PHP
PHP APP微信提现接口代码
Sep 30 PHP
Laravel框架定时任务2种实现方式示例
Dec 08 PHP
PHP文件上传小程序 适合初学者学习!
May 23 PHP
php 策略模式原理与应用深入理解
Sep 25 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程序实现支持页面后退的两种方法
2008/06/30 PHP
Yii隐藏URL中index.php的方法
2016/07/12 PHP
通过jQuery源码学习javascript(一)
2012/12/27 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
jQuery代码实现发展历程时间轴特效
2015/07/30 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
jQuery实现的多滑动门,多选项卡效果代码
2016/03/28 Javascript
javascript实现列表切换效果
2016/05/02 Javascript
用file标签实现多图文件上传预览
2017/02/14 Javascript
JS实现图片放大缩小的方法
2017/02/15 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
bootstrap日期插件daterangepicker使用详解
2017/10/19 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
vue element upload实现图片本地预览
2019/08/20 Javascript
jquery实现点击弹出对话框
2020/02/08 jQuery
设计模式中的原型模式在Python程序中的应用示例
2016/03/02 Python
Python抓取电影天堂电影信息的代码
2016/04/07 Python
tensorflow实现KNN识别MNIST
2018/03/12 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
python批量修改xml属性的实现方式
2020/03/05 Python
H5 meta小结(前端必看篇)
2016/08/24 HTML / CSS
Crocs美国官方网站:卡骆驰洞洞鞋
2017/08/04 全球购物
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
法国在线药房:1001Pharmacies
2021/03/07 全球购物
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
人力资源专员岗位职责
2014/01/30 职场文书
上班打牌检讨书
2014/02/07 职场文书
读群众路线的心得体会
2014/09/03 职场文书
《童年的发现》教学反思
2016/02/18 职场文书
苹果M1芯片安装nginx 并且部署vue项目步骤详解
2021/11/20 Servers