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基于phpqrcode类生成二维码的方法详解

PHP基于phpqrcode类生成二维码的方法详解

本文实例讲述了PHP基于phpqrcode类生成二维码的方法。分享给大家供大家参考,具体如下: 使用PHP语言生成二维码,还是挺有难度的,当然调用生成二维码图片的接口(比如:联图网htt...

php数组索引与键值操作技巧实例分析

本文实例讲述了php数组索引与键值操作技巧。分享给大家供大家参考。具体如下: <?php $array = array("a", "b","c"); //定义数组...

PHP使用ajax的post方式下载excel文件简单示例

本文实例讲述了PHP使用ajax的post方式下载excel文件。分享给大家供大家参考,具体如下: 项目需求,前端发起ajax请求,后端生成excel并下载,同时需要在header头中,...

[PHP]实用函数7

//打开一个到MySQL服务器的连接。成功返回连接符,失败时返回false int mysql_connect([string server[,string ...

解析linux下安装memcacheq(mcq)全过程笔记

memcacheQ是一个单纯的分布式消息队列服务。一,MEMCACHEQ的应用背景Web应用中为什么会需要消息队列?主要原因是由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,...