美文网首页
PHP 采集数据 图片保存本地ftp上传图片服务器

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

作者: 矛盾迩 | 来源:发表于2018-08-24 09:42 被阅读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;

    }

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/vxxbiftx.html