zoukankan      html  css  js  c++  java
  • 织梦发布图片到指定远程服务器(文章模型图集模型)

    开启远程设置

    文章模型缩略图和文章内容图片发布到远程服务器

    1、打开 /dede/article_add.php 找到

    //生成HTML

    在它上面加入

    $row1 = $dsql->GetOne("SELECT * FROM `#@_multiserv_config`");
    $isftp = $row1['remoteuploads'];
    $ftpurl = $row1['remoteupUrl'];
    $ftpconfig = $row1['servinfo'];
    $ftpconfig_arr = array();
    $ftpconfig_txt = explode('|', $ftpconfig);
    foreach($ftpconfig_txt as $str){
    	$ftpconfig_arr[] = trim($str);
    }
    
    if($isftp == 1){		
    	$config = array(
    	  'hostname' => $ftpconfig_arr[1],
    	  'username' => $ftpconfig_arr[3],
    	  'password' => $ftpconfig_arr[4],
    	  'port' => $ftpconfig_arr[2],
    	  'debug' => 'TRUE'
    	);
    	$ftps = new FTP(); 
    	$ftps->connect($config);
    	$row2 = $dsql->GetOne("SELECT litpic FROM `#@_archives` WHERE id=$arcID");
    	$imglist = $row2['litpic'];
    	$row3 = $dsql->GetOne("SELECT body FROM `$addtable` WHERE aid=$arcID");
    	preg_match_all("/<img([^>]*)s*src=('|")([^'"]+)('|")/", $row3['body'], $matches);
    	$arr=array_unique($matches[3]);
    	foreach($arr as $key){ 
    		$imglist .= ','.$key; 
    	}
    	$imglistarr = array();
    	$imglist_txt = explode(',', $imglist);
    	foreach($imglist_txt as $str){
    		$remotefile = str_replace(DEDEROOT, '', $str);
    		$localfile = '..'.$remotefile;
    		$remotefile2 = str_replace('uploads/', 'uploadfile/', $remotefile);
    		$remotedir = preg_replace('/[^/]*.(jpg|gif|bmp|png)/', '', $remotefile2);
    		$ftps->rmkdir($remotedir);
    		$ftps->upload($localfile, $remotefile2);
    	}
    	$dsql->ExecuteNoneQuery("UPDATE `#@_archives` SET `litpic`=REPLACE(`litpic`,'/uploads','$ftpurl/uploadfile') WHERE `litpic` LIKE '%/uploads%' AND `id` = $arcID");
    	$dsql->ExecuteNoneQuery("UPDATE `$addtable` SET `body`=REPLACE(`body`,'/uploads','$ftpurl/uploadfile') WHERE `body` LIKE '%/uploads%' AND `aid` = $arcID");
    	$ftps->close();
    }

    2、打开 /dede/article_edit.php 找到

    //生成HTML

    在它上面加入

    $row1 = $dsql->GetOne("SELECT * FROM `#@_multiserv_config`");
    $isftp = $row1['remoteuploads'];
    $ftpurl = $row1['remoteupUrl'];
    $ftpconfig = $row1['servinfo'];
    $ftpconfig_arr = array();
    $ftpconfig_txt = explode('|', $ftpconfig);
    foreach($ftpconfig_txt as $str){
    	$ftpconfig_arr[] = trim($str);
    }
    
    if($isftp == 1){
    	$config = array(
    	  'hostname' => $ftpconfig_arr[1],
    	  'username' => $ftpconfig_arr[3],
    	  'password' => $ftpconfig_arr[4],
    	  'port' => $ftpconfig_arr[2],
    	  'debug' => 'TRUE'
    	);
    	$ftps = new FTP(); 
    	$ftps->connect($config);
    	
    	$row2 = $dsql->GetOne("SELECT litpic FROM `#@_archives` WHERE id=$id");
    	$imglist = $row2['litpic'];
    	$row3 = $dsql->GetOne("SELECT body FROM `$addtable` WHERE aid=$id");
    	preg_match_all("/<img([^>]*)s*src=('|")([^'"]+)('|")/", $row3['body'], $matches);
    	$arr=array_unique($matches[3]);
    	foreach($arr as $key){ 
    		$imglist .= ','.$key; 
    	}
    	$imglistarr = array();
    	$imglist_txt = explode(',', $imglist);
    	foreach($imglist_txt as $str){
    		if(preg_match('https://www.dedehtml.com/uploads/', $str)){
    			$remotefile = str_replace(DEDEROOT, '', $str);
    			$localfile = '..'.$remotefile;
    			$remotefile2 = str_replace('uploads/', 'uploadfile/', $remotefile);
    			$remotedir = preg_replace('/[^/]*.(jpg|gif|bmp|png)/', '', $remotefile2);
    			$ftps->rmkdir($remotedir);
    			$ftps->upload($localfile, $remotefile2);
    		}
    	}
    	$dsql->ExecuteNoneQuery("UPDATE `#@_archives` SET `litpic`=REPLACE(`litpic`,'/uploads','$ftpurl/uploadfile') WHERE `litpic` LIKE '%/uploads%' AND `id` = $id");
    	$dsql->ExecuteNoneQuery("UPDATE `$addtable` SET `body`=REPLACE(`body`,'/uploads','$ftpurl/uploadfile') WHERE `body` LIKE '%/uploads%' AND `aid` = $id");
    	$ftps->close();
    }

    图集模型缩略图和文章内容图片发布到远程服务器

    1、打开 /dede/album_add.php 找到

    //生成HTML

    在它上面加入

    $row1 = $dsql->GetOne("SELECT * FROM `#@_multiserv_config`");
    $isftp = $row1['remoteuploads'];
    $ftpurl = $row1['remoteupUrl'];
    $ftpconfig = $row1['servinfo'];
    $ftpconfig_arr = array();
    $ftpconfig_txt = explode('|', $ftpconfig);
    foreach($ftpconfig_txt as $str){
    	$ftpconfig_arr[] = trim($str);
    }
    
    if($isftp == 1){
    	$config = array(
    	  'hostname' => $ftpconfig_arr[1],
    	  'username' => $ftpconfig_arr[3],
    	  'password' => $ftpconfig_arr[4],
    	  'port' => $ftpconfig_arr[2],
    	  'debug' => 0
    	);
    	$ftps = new FTP(); 
    	$ftps->connect($config);
    	$row2 = $dsql->GetOne("SELECT litpic FROM `#@_archives` WHERE id=$arcID");
    	$imglist = $row2['litpic'];
    	$row3 = $dsql->GetOne("SELECT imgurls FROM `$addtable` WHERE aid=$arcID");
    	$imgurls = $row3['imgurls'];
    	if($imgurls != '')
    	{
    		$dtp = new DedeTagParse();
    		$dtp->LoadSource($imgurls);
    		$images = array();
    		if(is_array($dtp->CTags))
    		{
    			foreach($dtp->CTags as $ctag)
    			{
    				if($ctag->GetName() == 'img')
    				{
    					$imglist .= ','.trim($ctag->GetInnerText());
    				}
    			}
    		}
    		$dtp->Clear();
    	}
    
    	$imglistarr = array();
    	$imglist_txt = explode(',', $imglist);
    	
    	foreach($imglist_txt as $str){
    		$remotefile = str_replace(DEDEROOT, '', $str);
    		$localfile = '..'.$remotefile;
    		$remotefile2 = str_replace('uploads/', 'uploadfile/', $remotefile);
    		$remotedir = preg_replace('/[^/]*.(jpg|gif|bmp|png)/', '', $remotefile2);
    		$ftps->rmkdir($remotedir);
    		$ftps->upload($localfile, $remotefile2);
    	}
    	$dsql->ExecuteNoneQuery("UPDATE `#@_archives` SET `litpic`=REPLACE(`litpic`,'/uploads','$ftpurl/uploadfile') WHERE `litpic` LIKE '%/uploads%' AND `id` = $arcID");
    	$dsql->ExecuteNoneQuery("UPDATE `$addtable` SET `imgurls`=REPLACE(`imgurls`,'/uploads','$ftpurl/uploadfile') WHERE `imgurls` LIKE '%/uploads%' AND `aid` = $arcID");
    	$ftps->close();
    }

    2、打开 /dede/album_edit.php 找到

    //生成HTML

    在它上面加入

    $row1 = $dsql->GetOne("SELECT * FROM `#@_multiserv_config`");
    $isftp = $row1['remoteuploads'];
    $ftpurl = $row1['remoteupUrl'];
    $ftpconfig = $row1['servinfo'];
    $ftpconfig_arr = array();
    $ftpconfig_txt = explode('|', $ftpconfig);
    foreach($ftpconfig_txt as $str){
    	$ftpconfig_arr[] = trim($str);
    }
    
    if($isftp == 1){		
    	$config = array(
    	  'hostname' => $ftpconfig_arr[1],
    	  'username' => $ftpconfig_arr[3],
    	  'password' => $ftpconfig_arr[4],
    	  'port' => $ftpconfig_arr[2],
    	  'debug' => 0
    	);
    	$ftps = new FTP(); 
    	$ftps->connect($config);
    	
    	$row2 = $dsql->GetOne("SELECT litpic FROM `#@_archives` WHERE id=$id");
    	$imglist = $row2['litpic'];
    	$row3 = $dsql->GetOne("SELECT imgurls FROM `$addtable` WHERE aid=$id");
    	$imgurls = $row3['imgurls'];
    	if($imgurls != '')
    	{
    		$dtp = new DedeTagParse();
    		$dtp->LoadSource($imgurls);
    		$images = array();
    		if(is_array($dtp->CTags))
    		{
    			foreach($dtp->CTags as $ctag)
    			{
    				if($ctag->GetName() == 'img')
    				{
    					$imglist .= ','.trim($ctag->GetInnerText());
    				}
    			}
    		}
    		$dtp->Clear();
    	}
    
    	$imglistarr = array();
    	$imglist_txt = explode(',', $imglist);
    	foreach($imglist_txt as $str){
    		if(preg_match('https://www.dedehtml.com/uploads/', $str)){
    			$remotefile = str_replace(DEDEROOT, '', $str);
    			$localfile = '..'.$remotefile;
    			$remotefile2 = str_replace('uploads/', 'uploadfile/', $remotefile);
    			$remotedir = preg_replace('/[^/]*.(jpg|gif|bmp|png)/', '', $remotefile2);
    			$ftps->rmkdir($remotedir);
    			$ftps->upload($localfile, $remotefile2);
    		}
    	}
    	$dsql->ExecuteNoneQuery("UPDATE `#@_archives` SET `litpic`=REPLACE(`litpic`,'/uploads','$ftpurl/uploadfile') WHERE `litpic` LIKE '%/uploads%' AND `id` = $id");
    	$dsql->ExecuteNoneQuery("UPDATE `$addtable` SET `imgurls`=REPLACE(`imgurls`,'/uploads','$ftpurl/uploadfile') WHERE `imgurls` LIKE '%/uploads%' AND `aid` = $id");
    	$ftps->close();
    }
  • 相关阅读:
    《Mysql
    《算法
    《Redis
    《Mysql
    《Mysql
    SSH免密码登录
    TCP/IP四层模型和OSI七层模型的概念
    简单描述RAID级别:
    awk内置变量 awk有许多内置变量用来设置环境信息,这些变量可以被改变,下面给出了最常用的一些变量。
    awk 的逻辑运算字符
  • 原文地址:https://www.cnblogs.com/dedehtml/p/9913770.html
Copyright © 2011-2022 走看看