discuz图片顺序混乱解决方案
<p><strong>说明</strong></p>
<p>
discuz在发表帖子的时候,添加多张图片,然后直接发表帖子,图片顺序有时候会乱掉<br>
即使上传图片窗口中图片顺序正确,发布之后还是会乱掉</p>
<p>
<strong>分析</strong></p>
<p>
看url,程序代码中看不出什么<br>
将图片名改为序号上传,顺序乱了,记下帖子中乱掉的图片顺序为:76123458<br>
然后在数据库找到bbs_forum_attachment_1表,发现默认的顺序也为此:</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="discuz图片顺序混乱解决方案" alt="discuz图片顺序混乱解决方案" src="https://zhuji.jb51.net/uploads/img/202305/1491f0d56dc00ba81c47e3601510a786.jpg"></p>
<p>
竟然也不按aid排序,有可能取的时候就直接取了没有order by<br>
找到直接操作此表的php:source\class\table\table_forum_attachment_n.php<br>
通过writelog('文件名','log')方法,发现,每刷新一次帖子,fetch_all_by_id,此方法就执行一次<br>
原来查看帖子的时候,没有插入到帖子中的附件地址是每次都要从数据库读的</p>
<p>
<strong>解决</strong></p>
<p>
修改fetch_all_by_id方法的传入默认参数:<strong>order_by='aid'</strong></p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="discuz图片顺序混乱解决方案" alt="discuz图片顺序混乱解决方案" src="https://zhuji.jb51.net/uploads/img/202305/969682709c0b405dadd3effbc6a87e16.jpg"></p>
<p>
刷新刚才图片顺序乱掉的帖子,发现顺序正常了</p>
<p>
以上就是关于discuz的修改的全部内容了,希望对大家能够有所帮助。</p>
頁:
[1]