php dedecms采集远程图片

作者:袖梨 2022-07-02

for($i=1;$i<=120;$i++)
 {
  if(isset(${'imgurl'.$i})||(isset($_FILES['imgfile'.$i]['tmp_name']) && is_uploaded_file($_FILES['imgfile'.$i]['tmp_name'])))
  {
   $iinfo = str_replace("'","`",strips教程lashes(${'imgmsg'.$i}));
   $iurl = stripslashes(${'imgurl'.$i});
   $ioldurl = @stripslashes(${'imgurlold'.$i});
   $ioldddimg = @stripslashes(${'oldddimg'.$i});

   //非上传图片
   if(!is_uploaded_file($_FILES['imgfile'.$i]['tmp_name']))
   {
    if(trim($iurl)=='')
    {
     continue;
    }
    $iurl = trim(str_replace($cfg_basehost,'',$iurl));
    if((eregi("^http://",$iurl) && !eregi($cfg_basehost,$iurl)) && $cfg_isUrlOpen)
    //远程图片
    {
     $reimgs = '';
     if($cfg_isUrlOpen && $isrm==1)
     {
      $reimgs = GetRemoteImage($iurl,$adminid);
      if(is_array($reimgs))
      {
       $litpicname = $pagestyle > 2 ? GetImageMapDD($reimgs[0],$ddmaxwidth) : '';
       $imgurls .= "{dede:img ddimg='$litpicname' text='$iinfo' .$reimgs[1]."' .$reimgs[2]."'} ".$reimgs[0]." {/dede:img} ";
      }else
      {
       echo "下载:".$iurl." 失败,可能图片有反采集功能或http头不正确!
";
      }
     }else
     {
      $imgurls .= "{dede:img text='$iinfo' } ".$iurl." {/dede:img} ";
     }
     //站内图片
    }
    else if($iurl!='')
    {
     $imgfile = $cfg_basedir.$iurl;
     if(is_file($imgfile))
     {
      if($ioldurl!=$iurl)
      {
       if(file_exists($cfg_basedir.$ioldddimg))
       {
        @unlink($cfg_basedir.$ioldddimg);
       }
       $litpicname = $pagestyle > 2 ? GetImageMapDD($iurl,$ddmaxwidth) : '';
      }
      else
      {
       $litpicname = $ioldddimg;
      }
      $info = '';
      $imginfos = GetImageSize($imgfile,$info);
      $imgurls .= "{dede:img ddimg='$litpicname' text='$iinfo' .$imginfos[0]."' .$imginfos[1]."'} $iurl {/dede:img} ";
     }
    }

   }
   else
   {
    //直接上传的图片
    $sparr = Array("image/pjpeg","image/jpeg","image/gif","image/png","image/xpng","image/wbmp");
    if(!in_array($_FILES['imgfile'.$i]['type'],$sparr))
    {
     continue;
    }
    $uptime = time();
    $imgPath = $cfg_image_dir."/".MyDate("ymd",$uptime);
    MkdirAll($cfg_basedir.$imgPath,$GLOBALS['cfg_dir_purview']);
    CloseFtp();
    $filename = $imgPath."/".dd2char($cuserLogin->getUserID().MyDate("His",$uptime).mt_rand(1000,9999))."-{$i}";
    $fs = explode(".",$_FILES['imgfile'.$i]['name']);
    $filename = $filename.".".$fs[count($fs)-1];
    @move_uploaded_file($_FILES['imgfile'.$i]['tmp_name'],$cfg_basedir.$filename);

    //缩图
    $litpicname = $pagestyle > 2 ? GetImageMapDD($filename,$ddmaxwidth) : '';

    //水印
    $imgfile = $cfg_basedir.$filename;
    @WaterImg($imgfile,'up');

    if(is_file($imgfile))
    {
     $iurl = $filename;
     $info = "";
     $imginfos = GetImageSize($imgfile,$info);
     $imgurls .= "{dede:img ddimg='$litpicname' text='$iinfo' .$imginfos[0]."' .$imginfos[1]."'} $iurl {/dede:img} ";

     //把新上传的图片信息保存到媒体文档管理档案中
     $inquery = "
                   INSERT INTO #@__uploads(title,url,mediatype,width,height,playtime,filesize,uptime,mid)
                    VALUES ('$title".$i."','$filename','1','".$imginfos[0]."','".$imginfos[1]."','0','".filesize($imgfile)."','".time()."','$adminid');
                 ";
     $dsql->ExecuteNoneQuery($inquery);
    }
   }
  }//含有图片的条件
 }//循环结束

相关文章

精彩推荐