Linux宝塔面板的小伙伴需要在PureFTPd里开启被动模式,windows小伙伴可以略过这一步
进入宝塔面板,右侧,软件管理,找到PureFTPd,设置,配置修改,搜索ForcePassiveIP,去掉它前面的#号,改成你的外网IP,保存,重启PureFTPd或者服务器。
其他linux环境的vsftpd,搜索pasv_address+外网IP
开启远程设置
1、打开 /dede/ 找到
//生成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_txtas$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($arras$key){ $imglist.=','.$key; } $imglistarr=array(); $imglist_txt=explode(',',$imglist); foreach($imglist_txtas$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/ 找到
//生成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_txtas$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($arras$key){ $imglist.=','.$key; } $imglistarr=array(); $imglist_txt=explode(',',$imglist); foreach($imglist_txtas$str){ if(preg_match('/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/ 找到
//生成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_txtas$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->CTagsas$ctag) { if($ctag->GetName()=='img') { $imglist.=','.trim($ctag->GetInnerText()); } } } $dtp->Clear(); } $imglistarr=array(); $imglist_txt=explode(',',$imglist); foreach($imglist_txtas$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/ 找到
//生成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_txtas$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->CTagsas$ctag) { if($ctag->GetName()=='img') { $imglist.=','.trim($ctag->GetInnerText()); } } } $dtp->Clear(); } $imglistarr=array(); $imglist_txt=explode(',',$imglist); foreach($imglist_txtas$str){ if(preg_match('/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(); } |