Dedehtml.com

织梦开启附件远程同步和缩略图支持同步问题

摘要:开启附件远程同步并让缩略图支持同步和加入附件服务器域名

Linux宝塔面板的小伙伴需要在PureFTPd里开启被动模式

进入宝塔面板,右侧,软件管理,找到PureFTPd,设置,配置修改,搜索ForcePassiveIP,去掉它前面的#号,192.168.0.1改成你的外网IP,保存,重启PureFTPd或者服务器

其他linux环境的vsftpd,搜索pasv_address+外网IP

开启附件远程同步

系统-核心,开启远程站点和远程发布

让缩略图支持同步和加入附件服务器域名

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

//对任意裁剪方式再次缩小图片至限定大小
if($newwidth > $cfg_ddimg_width || $newheight > $cfg_ddimg_height)
{
    ImageResize($ddpicokurl, $cfg_ddimg_width, $cfg_ddimg_height);
}

在下面加入

if($cfg_remote_site=='Y' && $remoteuploads == 1)
{
//启用远程站点则创建FTP类

    require_once(DEDEINC.'/ftp.class.php');
    if(file_exists(DEDEDATA."/cache/inc_remote_config.php"))
    {
        require_once DEDEDATA."/cache/inc_remote_config.php";
    }
    if(empty($remoteuploads)) $remoteuploads = 0;
    if(empty($remoteupUrl)) $remoteupUrl = '';
    //初始化FTP配置
    $ftpconfig = array(
        'hostname'=>$rmhost, 
        'port'=>$rmport,
        'username'=>$rmname,
        'password'=>$rmpwd

    );
    $ftp = new FTP; 
    $ftp->connect($ftpconfig);

    //分析远程文件路径
    $remotefile = str_replace(DEDEROOT, '', $ddpicokurl);

    $localfile = '..'.$remotefile;
    //创建远程文件夹
    $remotedir = preg_replace('/[^\/]*\.(jpg|gif|bmp|png)/', '', $remotefile);
    $ftp->rmkdir($remotedir);
    $ftp->upload($localfile, $remotefile);
}

继续找到

require_once(DEDEINC.'/image.func.php');

在它的下面加入

$file = str_replace($remoteupUrl, '', $file);

继续找到

<?php echo $ddpicok; ?>

改成

<?php if($cfg_remote_site=='Y' && $remoteuploads == 1){echo $remoteupUrl.$ddpicok;}else{echo $ddpicok;} ?>

2、打开 /include/helpers/upload.helper.php 找到

global $cfg_imgtype, $cfg_softtype, $cfg_mediatype;

在它下面加入

global $cfg_remote_site, $remoteuploads,$remoteupUrl,$rmhost,$rmport,$rmname,$rmpwd;

继续找到

if($ftype=='image' && $watermark)
{
    WaterImg($cfg_basedir.$fileurl, 'up');
}

在它下面加入

if($cfg_remote_site=='Y' && $remoteuploads == 1)
{
//启用远程站点则创建FTP类
	
    require_once(DEDEINC.'/ftp.class.php');
    if(file_exists(DEDEDATA."/cache/inc_remote_config.php"))
    {
        require_once DEDEDATA."/cache/inc_remote_config.php";
    }
    if(empty($remoteuploads)) $remoteuploads = 0;
    if(empty($remoteupUrl)) $remoteupUrl = '';
	
    //初始化FTP配置
    $ftpconfig = array(
        'hostname'=>$rmhost, 
        'port'=>$rmport,
        'username'=>$rmname,
        'password'=>$rmpwd

    );
    $ftp = new FTP; 
    $ftp->connect($ftpconfig);

    //分析远程文件路径
    $remotefile = str_replace(DEDEROOT, '', $cfg_basedir.$fileurl);
    $localfile = '..'.$remotefile;
    //创建远程文件夹
    $remotedir = preg_replace('/[^\/]*\.(jpg|gif|bmp|png)/', '', $remotefile);
    $ftp->rmkdir($remotedir);
    $ftp->upload($localfile, $remotefile);
}

3、打开/dede/templets/imagecut.htm 找到

ReturnImg('<?php echo $file; ?>')

改成

ReturnImg('<?php if($cfg_remote_site=='Y' && $remoteuploads == 1){echo $remoteupUrl.$file;}else{echo $file;} ?>')

4、打开 /dede/archives_do.php 找到

if(!empty($cfg_uplitpic_cut) && $cfg_uplitpic_cut=='N')

在它的下面加入

if($cfg_remote_site=='Y' && $remoteuploads == 1){$upfile = $remoteupUrl.$upfile;}

完成

版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.dedehtml.com/notes/file-remote-site.html
(3)
打赏 微信扫一扫 微信 支付宝 QQ 扫码打赏

DedeCMS织梦新手学习交流QQ群