废话不多说,直接上代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
<?php // 暂不支持断点续传 // $url = 'http://www.mytest.com/debian.iso'; 不知道为何获取本地文件大小为0 $url = 'http://192.168.8.93/download/vm-672/18/0.vmdk' ; $file = basename ( $url ); $header = get_headers( $url , 1); $size = $header [ 'Content-Length' ]; $fp = fopen ( $url , 'rb' ); if ( $fp === false) exit ( '文件不存在或打开失败' ); header( 'Content-Description: File Transfer' ); header( 'Content-Type: application/octet-stream' ); header( 'Content-Disposition: attachment; filename="' . $file . '"' ); 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: ' . $size ); ob_clean(); ob_end_flush(); set_time_limit(0); $chunkSize = 1024 * 1024; while (! feof ( $fp )) { $buffer = fread ( $fp , $chunkSize ); echo $buffer ; ob_flush(); flush (); } fclose( $fp ); exit ; |
以上这篇php下载远程大文件(获取远程文件大小)的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。