织梦发布图片到指定远程服务器(文章模型图集模型)

开启远程设置

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

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();
}

转载于:https://www.cnblogs.com/dedehtml/p/9913770.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值