打印

PHP 保存远程图片到本地

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=http://www.phpchina.com/“’.$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);
   }

TOP

当前时区 GMT-4, 现在时间是 2008-12-5 06:19
ComePlay8.Com
Powered by Discuz! 6.0.0 © 2001-2007 Comsenz Inc.
Processed in 0.056886 second(s), 10 queries, Gzip enabled
TOP
清除 Cookies - 联系我们 - 来玩吧 - Archiver - WAP
Designed By Discuz! Support Team