0

帖子封面图插件修复

V xinyu
2025-05-05 64

帖子封面图插件不好使,上传提示“目录创建失败”

搜代码发现这段代码:

    if (!is_dir($path)) {
        mkdir($path, 0755, true);
    } else {
        message(-1, '目录创建失败');
    }

这个逻辑有问题,先注释掉吧,就可以上传了。

需要注意的是,这段代码逻辑中有一个潜在的逻辑错误:如果目录已经存在,按照正常逻辑,这应该是一个成功的情况,而不是显示“目录创建失败”的错误信息。一个更合理的处理可能是在目录存在时什么都不做,或者显示一个“目录已存在”之类的消息,而不是当前的错误处理逻辑。

然后发现帖子发布后,封面图数据并没有写入数据库。
看了下插件安装代码,写入数据库这句

db_exec("ALTER TABLE `{$tablepre}thread` ADD COLUMN IF NOT EXISTS `cover` varchar(2048) NOT NULL DEFAULT '' COMMENT '封面图网址'");

直接在phpmyadmin里运行也会报错。

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF NOT EXISTS `cover` varchar(2048) NOT NULL DEFAULT '' COMMENT '封面图网址' at line 1

这个错误消息说明在尝试执行的ALTER TABLE语句中存在语法错误。正如我之前提到的,ADD COLUMN IF NOT EXISTS是一个非标准的扩展,实际上并不被MySQL支持。这就是为什么你遇到了这个语法错误的原因。

原理先不管了,直接改下数据库,不判断存不存在了。

ALTER TABLE `bbs_thread` ADD COLUMN `cover` VARCHAR(2048) NOT NULL DEFAULT '' COMMENT '封面图网址'

通过以上两个操作,帖子封面图插件功能基本恢复正常!

本站申明 1、本论坛一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请投诉举报
2、本论坛的资源部分来源于网络,如有侵权,请 私信联系站长进行删除处理。
3、不得发布和链接任何有关政治, 色情, 宗教, 迷信.低俗、变态、血腥、暴力以及危害国家安全.诋毁政府形象等违法言论和信息的帖子.
4、本帖图片及内容纯属发布用户个人意见,与本站无关!
4,本帖如为原创资源/教程分享帖,则本站与发布用户共同享有内容版权!
6,本站管理有权在不经发布者同意的情况下,根据版规及相关法律法规删除/修改本帖!
7,如无特别说明,任何个人或者组织不得转载本帖内容!任何个人或团体不得将本站资源用于非法用途!
8,未尽事宜最终解释权归本站(xiuno论坛)所有!

最新回复 (0)

    暂无评论

    • Xiuno论坛
      2

请先登录后发表评论!

返回
请先登录后发表评论!