php下載遠(yuǎn)程大文件(獲取遠(yuǎn)程文件大小)的實(shí)例
廢話(huà)不多說(shuō),直接上代碼
<?php
// 暫不支持?jǐn)帱c(diǎn)續(xù)傳
// $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('文件不存在或打開(kāi)失敗');
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下載遠(yuǎn)程大文件(獲取遠(yuǎn)程文件大小)的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
typecho插件編寫(xiě)教程(六):調(diào)用接口
這篇文章主要介紹了typecho插件編寫(xiě)教程(六):調(diào)用接口,這是系列文章的最后一篇,需要的朋友可以參考下2015-05-05
tp5(thinkPHP5)框架數(shù)據(jù)庫(kù)Db增刪改查常見(jiàn)操作總結(jié)
這篇文章主要介紹了tp5(thinkPHP5)框架數(shù)據(jù)庫(kù)Db增刪改查常見(jiàn)操作,結(jié)合實(shí)例形式總結(jié)分析了thinkPHP5框架數(shù)據(jù)庫(kù)的增刪改查常見(jiàn)操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2019-01-01
PHP實(shí)現(xiàn)的多彩標(biāo)簽效果代碼分享
這篇文章主要介紹了PHP實(shí)現(xiàn)的多彩標(biāo)簽效果代碼分享,經(jīng)??梢钥吹揭恍┎┛椭械臉?biāo)簽(TAGS)頁(yè)面是彩色的效果展現(xiàn),本文就給出了實(shí)現(xiàn)這個(gè)功能的PHP代碼,需要的朋友可以參考下2014-08-08
php二維數(shù)組排序與默認(rèn)自然排序的方法介紹
本篇文章介紹了,在php中二維數(shù)組排序與默認(rèn)自然排序的方法。需要的朋友參考下2013-04-04
php不使用插件導(dǎo)出excel的簡(jiǎn)單方法
這篇文章主要介紹了php不使用插件導(dǎo)出excel的簡(jiǎn)單方法,首先獲取需要導(dǎo)出的數(shù)據(jù)的數(shù)組,數(shù)組的格式在下面。之后就是定義文件名稱(chēng)和需要導(dǎo)出的excel的樣式,最后就是循環(huán)數(shù)組,輸出數(shù)據(jù)了2014-03-03
set_exception_handler函數(shù)在ThinkPHP中的用法
這篇文章主要介紹了set_exception_handler函數(shù)在ThinkPHP中的用法,分析了官方給出了set_exception_handler函數(shù)用法說(shuō)明及示例,并講述了在ThinkPHP中的應(yīng)用實(shí)例,需要的朋友可以參考下2014-10-10

