代碼部分還可以進行優化,如有不對的地方,歡迎留言,感激不盡。
判斷文件路徑是否存在,存在那么就繼續進行。
/**
* @desc 實現文件下載
* @date 2017/7/11 13:15
* @param [string $url]
* @author 1245049149@qq.com
* @return [resource]
*/
public function downPhoto($url){
if($this->checkLoad($url)){
Header("Content-type: application/octet-stream");
Header("Content-Transfer-Encoding: binary");
Header("Accept-Ranges: bytes");
//說明:這里的filename生成下載后的文件名,可以進行優化,生成你自己想要的名字,后綴等等
Header("Content-Disposition: attachment; filename=".$url);
return readfile($url);
}else{
return false;
}
}
/**
* @desc 判斷文件路徑是否存在
* @date 2017/7/11 13:17
* @param [string $url]
* @author 1245049149@qq.com
* @return [bool]
*/
public function checkLoad($url){
$ch = curl_init();
$timeout = 10;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$contents = curl_exec($ch);
if (strpos($contents,'200')){
return true;
}else{
return false;
}
}
搞定!
