【转】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 ();
?>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM