CMS插件分享网

影子是一个会撒谎的精灵,它在虚空中流浪和等待被发现之间;在存在与不存在之间....

位置:主页 > 织梦二次开发 >

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

发布时间:2019-11-25 09:30作者:√無∑情—浏览(82)

    【织梦图集模型】缩略图和文章内容图片发布到远程服务器
    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();
    }

    推荐文章:

    织梦实现远程附件的方法(图片第三方储存)