discuz图片顺序混乱解决方案

yipeiwu_com7年前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实现简单的MVC框架实例

本文实例讲述了php实现简单的MVC框架。分享给大家供大家参考。具体如下: 在开始之前需要知道的知识 1.php基础知识 2.单一入口, 不知道的可以看看这里 (https://www....

PHP开发框架总结收藏

开发框架WACT http://wact.sourceforge.net/老牌的PHP编程框架,实现了很多企业级的开发模式Horde http://www.horde.org/horde...

基于PHP实现数据分页显示功能

本文实例为大家分享了数据分页显示功能的PHP实现代码,供大家参考,具体内容如下 实现代码: <!DOCTYPE html> <html> <head&g...

浅析PHP原理之变量分离/引用(Variables Separation)

首先我们回顾一下zval的结构:复制代码 代码如下:struct _zval_struct {       &nbs...

php 从指定数字中获取随机组合的简单方法(推荐)

例如:给定数字100,需要随机获取3个组成这个数字的组合,例如70,20,10 代码如下: <?php /** * 获取指定数字的随机数字组合 * @param I...