<?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
;
来源: http://www.92to.com/bangong/2017/07-15/25256606.html