php 下载保存文件保存到本地的两种实现方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 下载保存文件保存到本地的两种实现方法相关的知识,希望对你有一定的参考价值。
这里的下载,指的是 弹出下载提示框。
第一种:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?php function downfile() { $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" ); $size =readfile( $filename ); header( "Content-type: application/octet-stream " ); header( "Accept-Ranges: bytes " ); header( "Content-Disposition: attachment; filename= {$date}.doc" ); 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 (); ?> |
以上是关于php 下载保存文件保存到本地的两种实现方法的主要内容,如果未能解决你的问题,请参考以下文章
php如何实现图片点击下载,并保存本地?-----本例子为二维码的生成图片,并支持点击下载
PHP 利用PHPExcel 文件导入(也可保存到本地或者服务器)导出