首页 > 程序设计 > 解决discuz论坛附件丢失的临时方法

解决discuz论坛附件丢失的临时方法

        这些天cnpda遇到了各种困难,其中一个问题是大量帖子的附件丢失了,而且是莫名其妙的丢失,帖子中显示的是[attachment]XXXXX[/attachment],但是附件还在服务器上。         经过分析,有两种方法,一种是重新上传一个附件,可以修复单个帖子,另一中方法是通过修复表posts中的attachment字段。所以写了段脚本,添加到了discuz的计划任务中,可以作为比较好的修复的临时方法。
        计划任务的执行频率可以根据论坛情况自己设定。代码如下:
<?php   
if(!defined(‘IN_DISCUZ’)) {   
    exit(‘Access Denied’);   
}   
require_once DISCUZ_ROOT.’./include/cache.func.php’;   
require_once DISCUZ_ROOT.’./include/common.inc.php’;   
include DISCUZ_ROOT.’./uc_client/client.php’;   
  
$query = $db->query(“SELECT pid FROM {$tablepre}attachments”);   
   while($thread=$db->fetch_array($query)) {   
   $p=$thread['pid'];   
   $db->query(“UPDATE {$tablepre}posts SET attachment =’1′ WHERE pid=’$p’ AND attachment =’0′”);   
   }   
?>

原创文章,转载请注明: 转载自感叹忽然的部落格

本文链接地址: 解决discuz论坛附件丢失的临时方法

  1. 还没有评论
评论提交中, 请稍候...

留言

您需要登录之后才能发表评论,如果您还没有账号,请先注册
可以使用的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks