站长资讯网
最全最丰富的资讯网站

php保存文件的方法

php保存文件的方法:首先创建一个PHP示例文件;然后生成文件;最后用代码“if(isset($_GET["filepath"])) {…}”实现下载保存即可。

php保存文件的方法

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

php保存文件的方法

PHP 下载保存文件到本地

经常需要点击按钮,然后弹出一个对话框,保存下载文件。

最常见的方式,就用<a>链接实现,例如:

<a href="xxx/youfile.txt"> youfile.txt </a>

本文介绍的下载保存方式,是通过生成文件后,然后用代码实现下载保存。

完整示例(推荐)

<?php /** * 下载文件header函数 * copyright by www.mimvp.com * 2015-05-10 */   $res_filepath = ""; if(isset($_GET["filepath"])) {     $res_filepath = $_GET["filepath"]; }   //  $filepath = "./lib/tmp_txt_result_file_20150508170116.txt";     $file_realpath = realpath($res_filepath);     $file_basename = basename($res_filepath); //  $file_filesize = filesize($res_filepath);     $file_fileinfo = pathinfo($res_filepath);       if (!file_exists($res_filepath)){         header("Content-type: text/html; charset=utf-8");         echo "<html>                 <div style='margin-left: 20px'>                     <br>                     <font color='blue'>$file_basename</font> 是临时文件已过期,服务器不保存!                     <br><br>                     请提取最新代理: <a href='../fetch.php'>http://proxy.mimvp.com/api/fetch.php</a>                                           <!--                     <script>                     alert('" . $file_basename . "\n是临时文件,服务器不保存! \n\n请重新提取最新代理');                     </script>                     -->                 </div>               </html>";     } else {         $file_filesize = filesize($res_filepath);         $file = fopen($res_filepath, "r");         Header("Content-type: application/octet-stream");         Header("Accept-Ranges: bytes");         Header("Accept-Length: " . $file_filesize);         Header("Content-Disposition: attachment; filename=" . $file_basename);         echo fread($file, $file_filesize);         fclose($file); //      echo file_get_contents($filename); //      readfile($filename);     }       // 下载或取消后,删除临时文件     $del_result = @unlink($res_filepath);     if ($del_result == true) {         @unlink($res_filepath);     } ?>

网上其他方式

第一种:

<?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实现下载文件的两种方法

方法1:

<?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函数的用法

方法2:

<?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视频教程》

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号