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的修改的全部内容了,希望对大家能够有所帮助。

相关文章

Windows下的PHP5.0详解

PHP5包括以下一些重要的特征:    ·支持新的对象模型和许多新特点的Zend引擎。   ·完全重新编写了XML支持,扩展性能围绕着优秀的libxml2库(http://ww...

php准确计算复活节日期的方法

本文实例讲述了php准确计算复活节日期的方法。分享给大家供大家参考。具体如下: <?PHP function isLeapYear( $nYEAR ) { if(((...

php观察者模式应用场景实例详解

本文实例讲述了php观察者模式的应用。分享给大家供大家参考,具体如下: <?php /** * 观察者模式应用场景实例 * * 免责声明:本文只是以哈票网举例,示...

php继承中方法重载(覆盖)的应用场合

本文实例分析了php继承中方法重载(覆盖)的应用场合。分享给大家供大家参考。具体分析如下: 方法重载(override)/覆盖——在什么情况下使用:当父类知道所有的子类都需要用到一个方法...

PHP耦合设计模式实例分析

本文实例分析了PHP耦合设计模式。分享给大家供大家参考,具体如下: 一个软件,它具有许多类,类与类之间需要互相调用,一旦某个类与另一个类具有紧密耦合关系的时候,这个软件的重用性就会大大降...