<track id="49b6i"></track>

        <td id="49b6i"><option id="49b6i"></option></td>
          <table id="49b6i"></table>
        1. <p id="49b6i"></p>

          從建站 到營銷 全程無憂!
          您當前的位置:首頁 > 新聞資訊 > 企業建站常識

          UCMS添加文章正文中的遠程圖片自動保存到本地方法

          發表時間:2021-06-03 14:39:48    瀏覽:460 次

          UCMS添加文章正文中的遠程圖片自動保存到本地方法

          遠程圖片保存到本地全欄目可用(BY:玉龍 QQ:33942704)


          使用方法:把下列代碼全部復制到ucms/admin_config.php文件里面


          //保存遠程圖片到本地

          $query = $GLOBALS['db'] -> query("SELECT * FROM ".tableex('channel')." order by corder asc"); //列出所有欄目
          $all_category_hook = $GLOBALS['db'] -> fetchall($query);
          foreach($all_category_hook as $key=>$val) {
                    admin_hook($val['cid'],'addposted;editposted','auto_save_image'); //使用鉤子
          }
          //開始保存圖片
          function auto_save_image() {
              //保存路徑
          $content = $_POST['content'];
          $myweb = "http://".$_SERVER["HTTP_HOST"];//本站域名下文件不保存

          $d = date('Ymd', time());//按日期生成文件夾
          $dirslsitss = $_SERVER ['DOCUMENT_ROOT'].'/uploadfile/image/'.$d;//分類是否存在
          if(!file_exists($dirslsitss)){
          mkdir($dirslsitss,0777,true);
          }

          //匹配圖片的src
          preg_match_all('#<img.*?src="([^"]*)"[^>]*>#i', $content,$match);
          foreach($match[1] as $imgurl){
          $imgurl = $imgurl;

          //如果是本站圖片則跳過下載
          if(is_int(strpos($imgurl,'http')) && strpos($imgurl,$myweb) === false){

          $arcurl = $imgurl;
          //$img=file_get_contents($arcurl);//下載圖片
          $img=getImg($arcurl);//curl下載圖片,支持https
          //根據圖片的路徑獲取圖片屬性值
          $imgAttr = get_headers($arcurl, true );
          //取得圖片后綴名
          $itype=$imgAttr['Content-Type'];
          if(!preg_match("#\.(jpg|gif|png)#i",$itype))
          {
          if($itype=='image/gif')
          {
          $itype = ".gif";
          }
          else if($itype=='image/png')
          {
          $itype = ".png";
          }
          else
          {
          $itype = '.jpg';
          }
          }

          if(!empty($img)) {
          //保存圖片到服務器
          $fileimgname = getRandChar(10).$itype;//生成10位數的隨機字符文件名
          $filecachs=$dirslsitss."/".$fileimgname;
          $fanhuistr = file_put_contents($filecachs, $img );
          $saveimgfile = "/uploadfile/image/".$d."/".$fileimgname;
          $content=str_replace($imgurl,$saveimgfile,$content);//替換內容中圖片地址
          }
          }
          global $thisid;
          $query = $GLOBALS['db'] -> query("update ".tableex('article')." SET content='".$content."' WHERE id=".$thisid."");
             }
          }
          //生成隨機字符串
          function getRandChar($length){
          $str = null;
          $strPol = "0123456789abcdefghijklmnopqrstuvwxyz";//小寫字母以及數字
          $max = strlen($strPol)-1;
             
          for($i=0;$i<$length;$i++){
          $str.=$strPol[rand(0,$max)];
            }
            return $str;
          }
          //curl下載圖片
          function getImg($url) {
             $ch = curl_init ();
             curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, 'GET' );
             curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );//跳過ssl驗證
             curl_setopt ( $ch, CURLOPT_URL, $url );
             ob_start ();
             curl_exec ( $ch );
             $return_content = ob_get_contents ();
             ob_end_clean ();
             return $return_content;
          }

           

          上一篇:蘋果電腦Mac安裝 Windows 10 雙系統教程

          下一篇:壓縮清理解決mssql數據庫日志(ldf文件)過大問題的辦法

           
          百度搜索推廣 |公司簡介 |人才招聘 |付款方式 |聯系方式
          恩施市百捷在線網絡科技有限公司 Copyright ? 2012-2021 網址:www.thegarbagepit.com
          電話:0718-8262386 傳真:0718-8262386 聯系人:鄒經理
          地址:恩施市火車站萬福國際寫字樓613 Email:zou@esbaidu.com 備案號:鄂ICP備16001060號-8
          公安備案信息 鄂公網安備 42280102000263號 網絡經濟主體信息
          SeSe在线视频

            <track id="49b6i"></track>

              <td id="49b6i"><option id="49b6i"></option></td>
                <table id="49b6i"></table>
              1. <p id="49b6i"></p>