Linux宝塔面板的小伙伴需要在PureFTPd里开启被动模式,windows小伙伴可以略过这一步
进入宝塔面板,右侧,软件管理,找到PureFTPd,设置,配置修改,搜索ForcePassiveIP,去掉它前面的#号,192.168.0.1改成你的外网IP,保存,重启PureFTPd或者服务器
其他linux环境的vsftpd,搜索pasv_address+外网IP
开启远程设置
1、打开 /dede/article_add.php 找到
//生成HTML
在它上面加入
$row1 = $dsql->GetOne("SELECT * FROM `dede_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 `dede_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 `dede_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 `dede_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 `dede_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.lol9.cn/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 `dede_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 `dede_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 `dede_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 `dede_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 `dede_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 `dede_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.lol9.cn/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 `dede_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(); }
织梦二次开发QQ群
本站客服QQ号:862782808(点击左边QQ号交流),群号(383578617) 如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!
转载请注明: 织梦模板 » 织梦把图片发布到远程服务器(支持图集模型)