Discuz!X2.0本地附件和远程附件之间的转化终极教程版

折腾了一天,终于弄清楚了本地附件转换到远程附件的问题了,目前,相册,论坛附件,图片,空间,一切都正常了。

下面来给大家分享经验:

本地附件转到远程附件:

论坛上有一些帖子,代码教程是:
remote=remote+1;

如果你只在数据库了操作了一次,问题还不大,如果你重复操作了,那么你的问题就大了,你会发现相册里的图片你都找不到,而且甚至FTP目录里都找不到这个文件名的文件,所以下面我就来谈我的方法:

我使用的工具:帝国备份王
这个可以先把数据库备份了,然后再来进行sql升级操作,都在这个备份王里面完成。

1、先备份数据库
2、附件的移动
3、开始sql语句升级
本地附件转移到远程附件,在帝国备份王里执行如下sql,记得要设置数据库名称和编码哦,关键在加粗的第四句,如果盲目的+1,就会出现一些图片无法找到,而且在ftp上也找不到的情况。

  1. update pre_portal_article_title set remote=1 where remote=0; 
  2. update pre_portal_attachment set remote=1 where remote=0; 
  3. update pre_portal_topic_pic set remote=1 where remote=0; 
  4. update pre_home_pic set remote=remote+1; 
  5.  
  6.  
  7. update pre_forum_attachment_0 set remote=1 where remote=0; 
  8. update pre_forum_attachment_1 set remote=1 where remote=0; 
  9. update pre_forum_attachment_2 set remote=1 where remote=0; 
  10. update pre_forum_attachment_3 set remote=1 where remote=0; 
  11. update pre_forum_attachment_4 set remote=1 where remote=0; 
  12. update pre_forum_attachment_5 set remote=1 where remote=0; 
  13. update pre_forum_attachment_6 set remote=1 where remote=0; 
  14. update pre_forum_attachment_7 set remote=1 where remote=0; 
  15. update pre_forum_attachment_8 set remote=1 where remote=0; 
  16. update pre_forum_attachment_9 set remote=1 where remote=0; 

远程附件转移到本地:

把以上的 0和1进行互换,0表示本地,1表示远程,

  1. update pre_portal_article_title set remote=0 where remote=1; 
  2. update pre_portal_attachment set remote=0 where remote=1; 
  3. update pre_portal_topic_pic set remote=0 where remote=1; 
  4. update pre_home_pic set remote=remote-1; 
  5.  
  6.  
  7. update pre_forum_attachment_0 set remote=0 where remote=1; 
  8. update pre_forum_attachment_1 set remote=0 where remote=1; 
  9. update pre_forum_attachment_2 set remote=0 where remote=1; 
  10. update pre_forum_attachment_3 set remote=0 where remote=1; 
  11. update pre_forum_attachment_4 set remote=0 where remote=1; 
  12. update pre_forum_attachment_5 set remote=0 where remote=1; 
  13. update pre_forum_attachment_6 set remote=0 where remote=1; 
  14. update pre_forum_attachment_7 set remote=0 where remote=1; 
  15. update pre_forum_attachment_8 set remote=0 where remote=1; 
  16. update pre_forum_attachment_9 set remote=0 where remote=1;