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语法(1)
Oct 09 PHP
php数据库连接
Oct 09 PHP
PHPMYADMIN 简明安装教程 推荐
Mar 07 PHP
PHP获取url的函数代码
Aug 02 PHP
php检测图片木马多进制编程实践
Apr 11 PHP
PHP实现股票趋势图和柱形图
Feb 07 PHP
PHP实现加强版加密解密类实例
Jul 29 PHP
学习php设计模式 php实现合成模式(composite)
Dec 08 PHP
PHP编写RESTful接口的方法
Feb 21 PHP
php微信公众平台开发(四)回复功能开发
Dec 06 PHP
PHP PDO数据库操作预处理与注意事项
Mar 16 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
Apr 22 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 ajax 静态分页过程形式
2011/09/02 PHP
PHP5常用函数列表(分享)
2013/06/07 PHP
PHP中的函数-- foreach()的用法详解
2013/06/24 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
PHP下载远程文件到本地存储的方法
2015/03/24 PHP
使用JQuery和CSS模拟超链接的用户单击事件的实现代码
2012/05/23 Javascript
JS 实现图片直接下载示例代码
2013/07/22 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
2015/07/28 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
js处理层级数据结构的方法小结
2017/01/17 Javascript
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
微信小程序页面滑动屏幕加载数据效果
2020/11/16 Javascript
关于vue面试题汇总
2018/03/20 Javascript
vue中v-model的应用及使用详解
2018/06/27 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
vue的webcamjs集成方式
2020/11/16 Javascript
python爬取亚马逊书籍信息代码分享
2017/12/09 Python
python读取与写入csv格式文件的示例代码
2017/12/16 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
2018/01/29 Python
python使用socket创建tcp服务器和客户端
2018/04/12 Python
python 实现调用子文件下的模块方法
2018/12/07 Python
Python Matplotlib实现三维数据的散点图绘制
2019/03/19 Python
Tensorflow之梯度裁剪的实现示例
2020/03/08 Python
解决Keras自带数据集与预训练model下载太慢问题
2020/06/12 Python
keras 实现轻量级网络ShuffleNet教程
2020/06/19 Python
CSS3效果:自定义“W”形运行轨迹实例
2017/03/29 HTML / CSS
详解通过变换矩阵实现canvas的缩放功能
2019/01/14 HTML / CSS
HTML5 语音搜索(淘宝店语音搜素)
2013/01/03 HTML / CSS
Geekbuying波兰:购买中国电子产品
2019/10/20 全球购物
行政人员工作职责
2013/12/05 职场文书
经贸韩语专业大学生职业规划
2014/02/14 职场文书
校园元旦活动总结
2014/07/09 职场文书
Python 居然可以在 Excel 中画画你知道吗
2022/02/15 Python