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实现递归的三种基本方式

递归函数是我们常用到的一类函数,最基本的特点是函数自身调用自身,但必须在调用自身前有条件判断,否则无限无限调用下去。实现递归函数可以采取什么方式呢?本文列出了三种基本方式。理解其原来需要...

简单的php 验证图片生成函数

复制代码 代码如下:<?php function yzm($name,$width,$height){ Header("Content-type: image/PNG"); sra...

php目录遍历函数opendir用法实例

本文实例讲述了php目录遍历函数opendir用法。分享给大家供大家参考。具体分析如下: opendir()函数的作用是:打开目录句柄,如果该函数成功运行,将返回一组目录流(一组目录字符...

PHP读取目录树的实现方法分析

PHP读取目录树的实现方法分析

本文实例讲述了PHP读取目录树的实现方法。分享给大家供大家参考,具体如下: 前一阵时间面试XX公司笔试题中竟然有这样一道题: 使用PHP列出目录树! 当时一看就懵逼了!基本的思路还是有的...

PHP strncasecmp字符串比较的小技巧

只是这样就需要转换两次。大多时候,我们是针对字符集转换的时候才会这样,比如判断参数传进来是否utf-8,这5个字符的写法,可就多了,比如UTF-8,Utf-8,utf-8等,那我们怎么办...