首页 > php框架 > php dedecms采集远程图片

php dedecms采集远程图片

<?php
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("'", "`", stripslashes($ {
            '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' width='" . $reimgs[1] . "' height='" . $reimgs[2] . "'} " . $reimgs[0] . " {/dede:img} ";
                    } else {
                        echo "下载:" . $iurl . " 失败,可能图片有反采集功能或http头不正确!<br /> ";
                    }
                } else {
                    $imgurls.= "{dede:img text='$iinfo' width='' height=''} " . $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' width='" . $imginfos[0] . "' height='" . $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' width='" . $imginfos[0] . "' height='" . $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);
            }
        }
    } //含有图片的条件
    
} //循环结束


教程地址:http://www.phprm.com/frame/9170023e04fdf882f867aea020d081df.html

欢迎转载!但请带上文章地址^^

标签:none

发表留言