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排序算法之基数排序(Radix Sort)实例详解

本文实例讲述了PHP排序算法之基数排序(Radix Sort)。分享给大家供大家参考,具体如下: 基数排序在《大话数据结构》中并未讲到,但是为了凑齐八大排序算法,我自己通过网络学习了这个...

php基于base64解码图片与加密图片还原实例

php基于base64解码图片与加密图片还原实例

本文实例讲述了php基于base64解码图片与加密图片还原的实现方法。分享给大家供大家参考。具体实现方法如下: 本例中$data是一段经过base64编码的图片。具体代码如下: 复制代码...

探讨如何使用SimpleXML函数来加载和解析XML文档

大量SmipleXML函数可用来加载和解析大量XML文档。----------------------------------------------------------------...

检测png图片是否完整的php代码

复制代码 代码如下: <?php $filename = './D243375_0.png'; $filename = realpath($filename); if (!file...

深入解读php中关于抽象(abstract)类和抽象方法的问题分析

在面向对象(OOP)语言中,一个类可以有一个或多个子类,而每个类都有至少一个公有方法作为外部代码访问的接口。而抽象方法就是为了方便继承而引入的,现在来看一下抽象类和抽象方法分别是如何定义...