服务器之家

服务器之家 > 正文

用php获取远程图片并把它保存到本地的代码

时间:2019-10-27 11:57     来源/作者:php教程网
  1. <?php  
  2. function GrabImage($url,$filename="") {  
  3.   if($url==""):return false;endif;  
  4.  
  5.   if($filename=="") {  
  6.     $ext=strrchr($url,".");  
  7.     if($ext!=".gif" && $ext!=".jpg"):return false;endif;  
  8.     $filename=date("dMYHis").$ext;  
  9.   }  
  10.  
  11.   ob_start();  
  12.   readfile($url);  
  13.   $img = ob_get_contents();  
  14.   ob_end_clean();  
  15.   $size = strlen($img);  
  16.  
  17.   $fp2=@fopen($filename"a");  
  18.   fwrite($fp2,$img);  
  19.   fclose($fp2);  
  20.  
  21.   return $filename;  
  22. }  
  23.  
  24.  
  25. $img=GrabImage("http://news.bbc.co.uk/images/_1978837_detector_ap100.jpg","");  
  26. if($img):echo '<pre><img src="'.$img.'"></pre>';else:echo "false";endif;     
  27.  
  28.    
  29.  
  30.  
  31. ?>  

dedecms中的:

  1. if(!empty($saveremoteimg))  
  2.  {  
  3.          $body = stripslashes($body);  
  4.          $img_array = array();  
  5.          preg_match_all("/(src|SRC)=[\"|'| ]{0,}(http:\/\/(.*)\.(gif|jpg|jpeg|bmp|png))/isU",$body,$img_array);  
  6.          $img_array = array_unique($img_array[2]);  
  7.          set_time_limit(0);  
  8.          $imgUrl = $img_dir."/".strftime("%Y%m%d",time());  
  9.          $imgPath = $base_dir.$imgUrl;  
  10.          $milliSecond = strftime("%H%M%S",time());  
  11.          if(!is_dir($imgPath)) @mkdir($imgPath,0777);  
  12.          foreach($img_array as $key =>$value)  
  13.          {  
  14.                  $value = trim($value);  
  15.                  $get_file = @file_get_contents($value);  
  16.                  $rndFileName = $imgPath."/".$milliSecond.$key.".".substr($value,-3,3);  
  17.                  $fileurl = $imgUrl."/".$milliSecond.$key.".".substr($value,-3,3);  
  18.                  if($get_file)  
  19.                  {  
  20.                          $fp = @fopen($rndFileName,"w");  
  21.                          @fwrite($fp,$get_file);  
  22.                          @fclose($fp);  
  23.                  }  
  24.                  $body = ereg_replace($value,$fileurl,$body);  
  25.          }  
  26.          $body = addslashes($body);  
  27.  }  

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
返回顶部