马上注册,一起探讨正确快速的建站方法
您需要 登录 才可以下载或查看,没有帐号?快速注册
x
有同学论坛从X2升级到X2.5后附件变成问号,或者其他版本升级到X2再升级到X2.5后附件变成问号,下面我们分析下升级到X2.5 附件变问号的原因及处理解决方法
升级到X2.5 附件变问号的原因及处理解决方法
首先我们先来查看update.php 文件中处理附件部分代码- elseif($_GET['op'] == 'forumattach') {
- $nextop = 'moderate';
- $limit = 10000;
- $start = !empty($_GET['start']) ? $_GET['start'] : 0;
- <font color="#ff0000"> $needupgrade = DB::query("SELECT COUNT(*) FROM ".DB::table('forum_attachmentfield'), 'SILENT');</font>
- $count = DB::result_first("SELECT COUNT(*) FROM ".DB::table('forum_attachment'));
- if($needupgrade && $count) {
- if(!$start) {
- for($i = 0;$i < 10;$i++) {
- DB::query("TRUNCATE ".DB::table('forum_attachment_'.$i));
- }
- }
- $query = DB::query("SELECT a.*,af.description FROM ".DB::table('forum_attachment')." a
- LEFT JOIN ".DB::table('forum_attachmentfield')." af USING(aid)
- ORDER BY aid LIMIT $start, $limit");
- if(DB::num_rows($query)) {
-
- 省略。。。。。。。
复制代码 代码红色部分,有对forum_attachmentfield 进行处理,因为这个升级程序是兼容 discuz! X 系列的升级。如果你升级到X2的时候此表还存在,升级到 Discuz! X2.5就会将附件表 forum_attachment_0 到 9 这些表给处理掉。正常情况 Discuz! X2升级到 Discuz! X2.5 是不用处理附件表。 所以升级到X2.5 附件变问号的解决方法为:
升级到X2.5附件为 问号的用户,
X2.5的附件表有对 forum_attachment_type 更改 ,添加 了forum_attachment_exifi表,导入X2的数据之后,请确保这些表都存在。 |