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


    来源:http://www.jb51.net/article/40485.htm

    第一种:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?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();
    ?>

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?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);
    ?>

    第二种:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?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实现下载文件的两种方法。分享下,有用到的朋友看看哦。

    方法一:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?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函数的用法。

    方法二:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?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();
    ?>

    第一种:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?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();
    ?>

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?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);
    ?>

    第二种:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?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实现下载文件的两种方法。分享下,有用到的朋友看看哦。

    方法一:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?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函数的用法。

    方法二:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?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();
    ?>
  • 相关阅读:
    Java web项目部署之SecureCRT+SecureFX的简单使用
    Ubuntu Linux系统用命令安装MySQL数据库
    Linux中操作tomcat的一些命令
    学习Java第二天
    学Java第一天
    在Windows10下在WSL中使用visual studio code
    Makefile中的变量赋值
    我见过的最好的关于typedef函数指针声明的解说
    C语言中打印格式
    Vim常用小操作【持续更新】
  • 原文地址:https://www.cnblogs.com/cblx/p/5070473.html
Copyright © 2020-2023  润新知