• WAP手机版 RSS订阅 加入收藏  设为首页
技术教程

thinkphp如何实现远程图片的下载

时间:2015/12/12 16:29:12   作者:新站长   来源:新站长网   阅读:1435   评论:1
内容摘要://保存图片并返回本地绝对路径,参数远程图片路径数组functionsaveimage($path){if($path=='')returnfalse;$pathArr=array();foreach($pathas$key=>$value){$url=$value;//远...
  1.  
  2.  //保存图片并返回本地绝对路径,参数远程图片路径数组 
  3.  function saveimage($path) {
  4.     if ($path == '') return false;
  5.     $pathArr = array();
  6.     foreach ($path as $key => $value) {
  7.         $url = $value; //远程图片路径
  8.         if(stripos($url,'http://')!== false or stripos($url,'ftp://')!== false){ //仅处理外部路径
  9.             $filename = substr($value, strripos($value, '/')); //图片名.后缀
  10.             $ext = substr($value, strripos($value, '.')); //图片后缀
  11.             $picdir = '.'.C('installdir').'uploadfile/' . date('Ym/d') . '/'; //组合图片路径
  12.             if(!file_exists($picdir)){createdir($picdir);}else{$t='生成文件夹失败 请检查权限!';}//缩略图所需文件夹不存在就生成下 
  13.             if(!file_exists($picdir)){$t='生成文件夹失败 请检查权限 生成路径='.$picdir;} 
  14.             $savepath = $picdir . strtotime("now") . $ext; //保存新图片路径
  15.             ob_start(); //开启缓冲
  16.             readfile($url); //读取图片
  17.             $img = ob_get_contents(); //保存到缓冲区
  18.             ob_end_clean(); //关闭缓冲
  19.             $fp2 = @fopen($savepath, "a"); //打开本地保存图片文件
  20.             fwrite($fp2, $img); //写入图片
  21.             fclose($fp2);
  22.             //图片路径入库
  23.             $model = M('Upload');  
  24.             $data['dir'] = str_ireplace('./','/',$savepath);
  25.             $data['ext'] = str_ireplace('.','',$ext);
  26.             $data['aid'] = 0;
  27.             $data['cid'] = 0;
  28.             $data['time'] = strtotime("now");
  29.             $qnewid = $model->add($data); 
  30.             addwatermark($savepath); //图片添加水印
  31.         } else {
  32.             $savepath = $value; 
  33.         }
  34.         $pathArr[] = str_ireplace('./', '/', $savepath); //返回本地图片html版本路径
  35.     }
  36.     return $pathArr; //返回本地保存绝对路径
  37.  }

相关评论
诚信网站 备案信息 网警110 不良信息举报 网络安全监察 QQ站长联盟安全认证 360安全认证网站
冀ICP备13003921号-1