PHP 采集数据 图片保存本地ftp上传图片服务器

2018-08-24  本文已影响84人  矛盾迩

/**

* 获取替换文章中的图片路径

* @param string $xstr 内容

* @param string $keyword 创建照片的文件名

* @param string $oriweb 网址

* @return string

*

*/

function replaceimg($xstr,$keyword, $oriweb){

    //保存路径

    $d = date('Ym', time());

    $dirslsitss = SITE_PATH.'/data/uploads/'.$keyword.'/'.$d;//分类是否存在

    if(!is_dir($dirslsitss)) {

        mkdir($dirslsitss, 0777,true);

    }

    //匹配图片的src

    preg_match_all('#]*>#i', $xstr, $match);

    foreach($match[1] as $imgurl){

        $imgurl = $imgurl;

        if(is_int(strpos($imgurl, 'http'))){

            $arcurl = $imgurl;

        } else {

            $arcurl = $oriweb.$imgurl;

        }

        $img=file_get_contents($arcurl);

        if(!empty($img)) {

            //保存图片到服务器

            $fileimgname = time()."_".rand(1000,9999).".jpg";

            $filecachs=$dirslsitss."/".$fileimgname;

            $fanhuistr = file_put_contents( $filecachs, $img );

            $saveimgfile = "./data/uploads/$keyword"."/".$d."/".$fileimgname;

            $ftpConfig=C("ftp_config");

            $TMPL_PARSE_STRING=C("TMPL_PARSE_STRING");

            $savepath=date('Y').'/'.date('Ymd').'/';

            $xstr=str_replace($imgurl,$TMPL_PARSE_STRING['__UEUPLOAD__'].$savepath.$fileimgname,$xstr);

            $conn = ftp_connect($ftpConfig['host']) or die("Could not connect");

            ftp_login($conn,$ftpConfig['username'],$ftpConfig['password']);

            ftp_put($conn, $savepath.$fileimgname, $saveimgfile, FTP_BINARY);

            ftp_close($conn);

            unlink($saveimgfile);

        }

}

    return $xstr;

}

上一篇下一篇

猜你喜欢

热点阅读