使用php怎么将图片保存到本地服务器

  介绍

使用php怎么将图片保存到本地服务器?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

php如何将远程图片本地化,本文分享了实现代码

& lt; ? php //站点根目录,   $ cfg_basedir =,目录名(__FILE__);,//停建目录属性,   cfg_dir_purview 美元;=& # 39;0755 & # 39;,,   ,/*得到请求远程内容函数*/,   ,cookie_file 美元;=,目录名(__FILE__) # 39;公司/cookie.txt& # 39;;,//COOKIE存放地址,   function 才能;pget ($ url, $ ref=false, $头=false) {,   时间=美元才能curl  curl_init();,//,启动一个旋度会话,   curl_setopt才能(CURLOPT_URL,卷发,美元,美元url),,//,要访问的地址,,,,,,,   curl_setopt才能(卷、美元,CURLOPT_SSL_VERIFYPEER,, 0),,//,对认证证书来源的检查,   curl_setopt才能(卷、美元,CURLOPT_SSL_VERIFYHOST,, 1),,//,从证书中检查SSL加密算法是否存在,   curl_setopt才能(卷、美元,CURLOPT_USERAGENT,, $ _SERVER [& # 39; HTTP_USER_AGENT& # 39;]);,//,模拟用户使用的浏览器,   curl_setopt才能(卷、美元,CURLOPT_FOLLOWLOCATION,, 1),,//,使用自动跳转,   如果($ ref){才能,curl_setopt (CURLOPT_REFERER,卷发,美元,$ ref);//带来的Referer    其他,}{大敌;   curl_setopt才能(卷、美元,CURLOPT_AUTOREFERER,, 1),,//,自动设置Referer    ,,},   curl_setopt才能(卷、美元,CURLOPT_HTTPGET,, 1),,//,发送一个常规的帖子请求,   curl_setopt才能(CURLOPT_COOKIEJAR,卷发,美元,美元全局(& # 39;cookie_file& # 39;]);,//,存放饼干信息的文件名称,   curl_setopt才能(卷、美元,CURLOPT_COOKIEFILE, GLOBALS 美元;[& # 39;cookie_file& # 39;]);,//,读取上面所储存的饼干信息,   curl_setopt才能(卷、美元,CURLOPT_TIMEOUT,, 30),,//,设置超时限制防止死循环,   curl_setopt才能(卷、美元,CURLOPT_HEADER,, 0),,//,显示返回的头区域内容,   curl_setopt才能(卷、美元,CURLOPT_RETURNTRANSFER,, 1),,//,获取的信息以文件流的形式返回,   时间=美元才能tmpInfo  curl_exec ($ curl);,//,执行操作,   if 才能;(curl_errno旋度($)),{,   ,echo  & # 39; errno # 39; .curl_error旋度($),,   ,,},   ,,如果($){,$ data[& # 39;头# 39;]=curl_getinfo ($ curl);},   curl_close才能旋度($);,//,关键卷发会话,   美元才能数据(& # 39;数据# 39;]=$ tmpInfo;,   return 才能;数据;美元,//,返回数据,   },   ,   ,/* *,   ,*创建所有目录,   *大敌;   ,* @param ,, string  truepath 美元;真实地址,   ,* @param ,, string  mmode 美元;,模式,   ,* @return , bool    ,*/if (!大敌;function_exists (& # 39; MkdirAll& # 39;)),   {,   function 才能MkdirAll (truepath美元),   ,,{global  cfg_dir_purview;美元,   ,,,,,如果(! file_exists (truepath美元)),   ,,,,,{,   ,,,,,,,mkdir (truepath美元,,cfg_dir_purview美元),,   ,,,,,,,chmod (truepath美元,,cfg_dir_purview美元),,   ,,,,,,,return ,真的,,   ,,,,,},   ,,,,,else    ,,,,,{,   ,,,,,,,return ,真的,,   ,,,,,},   ,,},   },/* *,才能   ,*获得文章身体里的外部资源,   *大敌;   ,* @access , public    ,* @param ,, string  body 美元;文档内容,   ,* @return , string    ,*/function  GetCurContent(身体),   {,   global  cfg_multi_site美元,才能cfg_basehost cfg_basedir美元,美元cfg_image_dir arcID美元,美元cuserLogin美元,美元dsql;,   时间=美元才能cfg_uploaddir  & # 39;/c # 39;;,   时间=美元才能basehost “http://" $ _SERVER [“HTTP_HOST"];,   ,,,,   时间=美元才能img_array 数组();,   preg_match_all才能(“/src=https://www.yisu.com/zixun/[/皘 |/s] {0} (http://([^>] *)/(gif | jpg | png))/isU”,身体美元,美元img_array);      (img_array=array_unique美元img_array [1]);   imgUrl=cfg_uploaddir美元。“/薄H掌?“ymd”时间());   imgPath=$ cfg_basedir。imgUrl美元;   如果(! is_dir (imgPath美元。'/'))   {   MkdirAll (imgPath,全局美元[' cfg_dir_purview ']);   CloseFtp ();   }   $毫秒=日期(“他”,时间());   foreach (img_array关键=>美元美元值)   {   如果(preg_match (“#”basehost美元。“#我”,美元值))   {   继续;   }   如果(preg_match (“#”basehost美元。“#我”,美元值))   {   继续;   }   如果(!preg_match (“# ^ http://我”,美元值))   {   继续;   }      (http=pget美元的价值,美元的价值,真的);   (itype=美元http[‘头’][' content_type ']);   如果(! preg_match (“#/?jpg | gif | png) #我”,itype美元))   {   ”image/gif if ($ itype==')   {   $ itype=癵if”;   }   else if ($ itype==巴枷?png”)   {   美元itype=" . png”;   }   其他的   {   美元itype=癹pg”;   }   }   $ milliSecondN=兰特(1000、9999).rand (1000、9999);   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

使用php怎么将图片保存到本地服务器