PHP 保存远程图片到本地

字体大小: 中小 标准 ->行高大小: 标准
〈?php
// Function: 获取远程图片并把它保存到本地
// 确定您有把文件写入本地服务器的权限
//
// 变量说明:
// $url 是远程图片的完整URL地址,不能为空。
// $filename 是可选变量: 如果为空,本地文件名将基于时间和日期
// 自动生成.

function GrabImage($url,$filename=““)
{
  if($url==““):return false;endif;

  if($filename==““) {
    $ext=strrchr($url,“.“);
    if($ext!=“.gif“ && $ext!=“.jpg“):return false;endif;
    $filename=date(“dMYHis“).$ext;
  }

  ob_start();
  readfile($url);
  $img = ob_get_contents();
  ob_end_clean();
  $size = strlen($img);

  $fp2=@fopen($filename, “a“);
  fwrite($fp2,$img);
  fclose($fp2);

  return $filename;
  }

  $img=GrabImage(“http://news.bbc.co.uk/images/_1978837_detector_ap100.jpg“,““);
  if($img):echo ’〈pre〉〈img src=“’.$img.’“〉〈/pre〉’;else:echo “false“;endif;

  ?〉

dedecms中的:

  if(!empty($saveremoteimg))
   {
           $body = stripslashes($body);
           $img_array = array();
           preg_match_all(“/(src|SRC)=[\“|’| ]{0,}(http:\/\/(.*)\.(gif|jpg|jpeg|bmp|png))/isU“,$body,$img_array);
           $img_array = array_unique($img_array[2]);
           set_time_limit(0);
           $imgUrl = $img_dir.“/“.strftime(“%Y%m%d“,time());
           $imgPath = $base_dir.$imgUrl;
           $milliSecond = strftime(“%H%M%S“,time());
           if(!is_dir($imgPath)) @mkdir($imgPath,0777);
           foreach($img_array as $key =〉$value)
           {
                   $value = trim($value);
                   $get_file = @file_get_contents($value);
                   $rndFileName = $imgPath.“/“.$milliSecond.$key.“.“.substr($value,-3,3);
                   $fileurl = $imgUrl.“/“.$milliSecond.$key.“.“.substr($value,-3,3);
                   if($get_file)
                   {
                           $fp = @fopen($rndFileName,“w“);
                           @fwrite($fp,$get_file);
                           @fclose($fp);
                   }
                   $body = ereg_replace($value,$fileurl,$body);
           }
           $body = addslashes($body);
   }

此文章由 www.phpgz.com 收集整理 ,地址为: http://www.phpgz.com/htmls/689.html

大屏阅读,大屏评论.