当前位置: 首页 » 标签:保存远程图片

PHP下载远程图片到本地服务器

最近在写一个东西,需要将远程的图片下载保存到本地服务器,测试了一段代码,已通过 function download($url, $save_dir = './______Images/upload/goods/',$filename=''){ $ext=strrchr($url,'.'); if(trim($save_dir)=='') $save_dir='./'; if(trim($filename)==''){//保存文件名 $allowExt = array('gif', 'jpg', 'jpeg', 'png', 'bmp'); if(!in_array($ext,$allowExt)) return false; // 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 false; // return array('file_name'=>'','save_path'=>'','error'=>5); $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书 curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); $file = curl_exec($ch); curl_close($ch); $filename = $filename.$ext; $resource = fopen($save_dir . $filename, 'a'); fwrite($resource, $file); fclose($resource); unset($file,$url); return true; // return array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0); } 因为要先判断是否下载成功,return 都改成了false和true,可以自行设置路径及文件名
笔记 ·
Zero零分
站龄14年资深站长
一个喜欢折腾,却又折腾不出像样东西的,不会PHP的PHP程序员!
464
文章
36
评论
27
分类
819
标签
7
友链
onlinelovesky 317355746 122551965@qq.com

百度广告