discuz图片顺序混乱解决方案

yipeiwu_com6年前PHP代码库

说明

discuz在发表帖子的时候,添加多张图片,然后直接发表帖子,图片顺序有时候会乱掉
即使上传图片窗口中图片顺序正确,发布之后还是会乱掉

分析

看url,程序代码中看不出什么
将图片名改为序号上传,顺序乱了,记下帖子中乱掉的图片顺序为:76123458
然后在数据库找到bbs_forum_attachment_1表,发现默认的顺序也为此:

竟然也不按aid排序,有可能取的时候就直接取了没有order by
找到直接操作此表的php:source\class\table\table_forum_attachment_n.php
通过writelog('文件名','log')方法,发现,每刷新一次帖子,fetch_all_by_id,此方法就执行一次
原来查看帖子的时候,没有插入到帖子中的附件地址是每次都要从数据库读的

解决

修改fetch_all_by_id方法的传入默认参数:order_by='aid'

刷新刚才图片顺序乱掉的帖子,发现顺序正常了

以上就是关于discuz的修改的全部内容了,希望对大家能够有所帮助。

相关文章

php基于协程实现异步的方法分析

本文实例讲述了php基于协程实现异步的方法。分享给大家供大家参考,具体如下: github上php的协程大部分是根据这篇文章实现的:http://nikic.github.io/2012...

PHP命名空间简单用法示例

本文实例讲述了PHP命名空间简单用法。分享给大家供大家参考,具体如下: 有三个文件,分别是space1.php,space2.php,use.php吧,在同一目录里。 space1.ph...

设置php页面编码的两种方法示例介绍

1:输出meta标签: 1、在php mvc的控制器里面或php页面echo '<meta http-equiv="content-type" content="text/html...

php通过array_merge()函数合并两个数组的方法

本文实例讲述了php通过array_merge()函数合并两个数组的方法。分享给大家供大家参考。具体分析如下: php通过array_merge()函数合并两个数组,array_merg...

PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)

浅谈Php安全和防Sql注入,防止Xss攻击,防盗链,防CSRF 前言: 首先,笔者不是web安全的专家,所以这不是web安全方面专家级文章,而是学习笔记、细心总结文章,里面有些是我们p...