function getFileSize($url){ //获取文件大小函数
$url = parse_url($url);
if($fp = @fsockopen($url['host'],empty($url['port'])?80:$url['port'],$error)){
fputs($fp,"GET ".(empty($url['path'])?'/':$url['path'])." HTTP/1.1\r\n");
fputs($fp,"Host:$url[host]\r\n\r\n");
while(!feof($fp)){
$tmp = fgets($fp);
if(trim($tmp) == ''){
break;
}else if(preg_match('/Content-Length:(.*)/si',$tmp,$arr)){
return trim($arr[1]);
}
}
return null;
}else{
return null;
}
};
$filename = $_REQUEST["url"]; //获取文件URL(这里的url已经是完整的,若不完整需要修改)
$filesize = getFileSize($filename);
$realfilename = substr(strrchr($filename,"/"),1); //获取文件名(以url最后一个斜杠之后的内容作为文件名)
header ("Content-Type: application/octet-stream"); //申明下载
header ('Content-Disposition: attachment;filename="'.$realfilename.'"'); //下载文件名
header("Accept-Ranges: bytes");
header("Content-Length: ".$filesize);
readfile ($filename);
这里的代码需要放到一个新的php文件中,文件地址可通过表单形式提交到这个php文件