php 下载保存文件保存到本地的两种实现方法

 更新时间:2013年08月12日 09:45:27   投稿:jingxian  
以下是对php下载保存文件保存到本地的两种实现方法进行了介绍,需要的朋友可以过来参考下

第一种:

<?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 set_time_limit(0)长连接的实现分析

    PHP set_time_limit(0)长连接的实现分析

    每次我们访问PHP脚本的时候,都是当所有的PHP脚本执行完成后,我们才得到返回结果。如果我们需要一个脚本持续的运行,那么我们就要通过php长连接的方式,来达到运行目的。
    2010-03-03
  • PHP zlib扩展实现页面GZIP压缩输出

    PHP zlib扩展实现页面GZIP压缩输出

    GZIP(GNU-ZIP)是一种压缩技术。经过GZIP压缩后页面大小可以变为原来的30%甚至更小。这样用户浏览的时候就会感觉很爽很愉快!
    2010-06-06
  • PHP中使用foreach()遍历二维数组的简单实例

    PHP中使用foreach()遍历二维数组的简单实例

    下面小编就为大家带来一篇PHP中使用foreach()遍历二维数组的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • PHP排序算法之归并排序(Merging Sort)实例详解

    PHP排序算法之归并排序(Merging Sort)实例详解

    这篇文章主要介绍了PHP排序算法之归并排序(Merging Sort),结合实例形式详细分析了php归并排序的原理、定义、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-04-04
  • PHP-FPM运行状态的实时查看及监控详解

    PHP-FPM运行状态的实时查看及监控详解

    php-fpm和nginx一样内建了一个状态页,对于想了解php-fpm的状态以及监控php-fpm非常有帮助。这篇文章就给大家详细介绍了PHP-FPM运行状态的实时查看及监控,有需要的朋友们可以参考学习,感兴趣的朋友们下面来一起看看吧。
    2016-11-11
  • 使用bcompiler对PHP文件进行加密的代码

    使用bcompiler对PHP文件进行加密的代码

    在网上无意间看到这个功能代码,还没有去试,以后有机会用到时在试一试。收藏一下。
    2010-08-08
  • PHP如何打印跟踪调试信息

    PHP如何打印跟踪调试信息

    这篇文章主要介绍了PHP如何打印跟踪调试信息,帮助大家更好的理解和学习使用PHP,感兴趣的朋友可以了解下
    2021-04-04
  • PHP中数组转换为SimpleXML教程

    PHP中数组转换为SimpleXML教程

    在本篇文章中我们给大家总结了一篇关于PHP中数组转换为SimpleXML教程内容,有需要的朋友们跟着学习参考下。
    2019-01-01
  • PHP的介绍以及优势详细分析

    PHP的介绍以及优势详细分析

    在本篇文章里小编给各位分享的是关于PHP的介绍以及优势知识点分析,有需要的朋友们可以参考下。
    2019-09-09
  • PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】

    PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】

    这篇文章主要介绍了PHP global全局变量经典应用与注意事项,结合实例形式分析了php中global全局变量的功能、使用方法及相关操作注意事项,并附带了$GLOBALS用法作为对比,需要的朋友可以参考下
    2019-07-07

最新评论