/**功能:php完美實現下載遠程圖片儲存到本地*參數:檔案url,儲存檔案目錄,儲存檔案名稱,使用的下載方式*當儲存檔案名稱為空白時則使用遠程檔案原來的名稱*/function getImage($url,$save_dir='',$filename='',$type=0){ if(trim($url)==''){return array('file_name'=>'','save_path'=>'','error'=>1);}if(trim($save_dir)==''){$save_dir='./';} if(trim($filename)==''){//儲存檔案名稱 $ext=strrchr($url,'.'); if($ext!='.gif'&&$ext!='.jpg'){return array('file_name'=>'','save_path'=>'','error'=>3);} $filename=time().$ext; }if(0!==strrpos($save_dir,'/')){$save_dir.='/';}//建立儲存目錄if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true)){return array('file_name'=>'','save_path'=>'','error'=>5);} //擷取遠程檔案所採用的方法 if($type){$ch=curl_init();$timeout=5;curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);$img=curl_exec($ch);curl_close($ch); }else{ ob_start(); readfile($url); $img=ob_get_contents(); ob_end_clean(); } //$size=strlen($img); //檔案大小 $fp2=@fopen($save_dir.$filename,'a'); fwrite($fp2,$img); fclose($fp2);unset($img,$url); return array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0);}