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 相关文章推荐
基于Snoopy的PHP近似完美获取网站编码的代码
Oct 23 PHP
php和javascript之间变量的传递实现代码
Dec 19 PHP
CodeIgniter图像处理类的深入解析
Jun 17 PHP
PHP读取文件内容的五种方式
Dec 28 PHP
Zend Framework实现将session存储在memcache中的方法
Mar 22 PHP
php 微信公众平台开发模式实现多客服的实例代码
Nov 07 PHP
php微信公众平台交互与接口详解
Nov 28 PHP
浅谈PHP的反射API
Feb 26 PHP
PHP实现的堆排序算法详解
Aug 17 PHP
PHP Socket网络操作类定义与用法示例
Aug 30 PHP
Ajax+Jpgraph实现的动态折线图功能示例
Feb 11 PHP
php自动加载代码实例详解
Feb 26 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 验证码制作(网树注释思想)
2009/07/20 PHP
php 过滤英文标点符号及过滤中文标点符号代码
2014/06/12 PHP
PHP中each与list用法分析
2016/01/08 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
2016/04/22 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
jQuery UI AutoComplete 自动完成使用小记
2010/08/21 Javascript
JQuery live函数
2010/12/24 Javascript
javascript代码编写需要注意的7个小细节小结
2011/09/21 Javascript
使用Jquery来实现可以输入值的下拉选单 雏型
2011/12/06 Javascript
判断多个input type=file是否有已经选择好文件的代码
2012/05/23 Javascript
js变换显示图片的实例
2013/04/16 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
2016/09/28 Javascript
解析NodeJs的调试方法
2016/12/11 NodeJs
谈谈JavaScript数组常用方法总结
2017/01/24 Javascript
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
vue组件中使用props传递数据的实例详解
2018/04/08 Javascript
vue 动态表单开发方法案例详解
2019/12/02 Javascript
Vue使用鼠标在Canvas上绘制矩形
2020/12/24 Vue.js
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
python制作花瓣网美女图片爬虫
2015/10/28 Python
python创建文件备份的脚本
2018/09/11 Python
Django项目基础配置和基本使用过程解析
2019/11/25 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
2020/02/27 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
Scrapy实现模拟登录的示例代码
2021/02/21 Python
AmazeUI导航的示例代码
2020/08/14 HTML / CSS
应届生自我鉴定
2013/12/11 职场文书
中国梦我的梦演讲稿
2014/04/23 职场文书
民间借贷纠纷案件代理词
2015/05/26 职场文书
《蓝鲸的眼睛》读后感5篇
2020/01/15 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL