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数组函数序列之in_array() 查找数组值是否存在

in_array() 定义和用法 in_array() 函数在数组中搜索给定的值。 语法 in_array(value,array,type) 参数 描述 value 必需。规定要在数组...

PHP打开和关闭文件操作函数总结

PHP打开和关闭文件操作函数总结

在处理文件内容之前,通常需要建立与文件资源的连接,即打开文件。同样,结束该资源的操作后,应当关闭连接资源。所谓打开文件,实际是建立文件的各种有关信息,并使文件指针指向该文件,就可以发起输...

php获得客户端浏览器名称及版本的方法(基于ECShop函数)

php获得客户端浏览器名称及版本的方法(基于ECShop函数)

本文实例讲述了php获得客户端浏览器名称及版本的方法。分享给大家供大家参考,具体如下: 看到ecshop中有这么一个函数get_user_browser(),获取浏览器的名称和版本。虽然...

php基于dom实现的图书xml格式数据示例

本文实例讲述了php基于dom实现的图书xml格式数据。分享给大家供大家参考,具体如下: <?php $books = array(); $books [] = a...

PHP回溯法解决0-1背包问题实例分析

本文实例讲述了PHP回溯法解决0-1背包问题的方法。分享给大家供大家参考。具体分析如下: 这段代码是根据《软件设计师》教程的伪代码写的; 最麻烦的不是伪代码改成php,而是数组下标从0开...