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

相关文章

ThinkPHP中实例Model方法的区别说明

在TP中,我们可以用下面两种方法去创建一个数据表的映射对象(我暂时用到的) 第一种:$Test = D('Test') 第二种:$Test = new Model('Test') 虽然这...

php读取二进制流(C语言结构体struct数据文件)的深入解析

尽管php是用C语言开发的,不过令我不解的是php没有提供对结构体struct的直接支持。不过php提供了pack和unpack函数,用来进行二进制数据(binary data)和php...

PHPExcel实现表格导出功能示例【带有多个工作sheet】

本文实例讲述了PHPExcel实现表格导出功能。分享给大家供大家参考,具体如下: 首先得去下载phpexcel文档,解压下来 <?php /** * 简单实用Exec...

PHP目录操作实例总结

PHP目录操作实例总结

本文实例总结了PHP目录操作方法。分享给大家供大家参考,具体如下: 目录操作 新建目录:mkdir(路径,权限,递归创建) 删除目录:rmdir() 移动(改名):rename() 获取...

PHP简单实现遍历目录下特定文件的方法小结

本文实例讲述了PHP简单实现遍历目录下特定文件的方法。分享给大家供大家参考,具体如下: 1. 使用glob方法 foreach (glob("modules/*.php") as $...