最近,在做一个Discuz的发帖机,用的是比较新的X3.4,大家都知道,Discuz考虑查询速度的问题,附件相关的表是有11个的(我说的是最直接的):
pre_forum_attachment、pre_forum_attachment_0~pre_forum_attachment_9。
当我在做有图片的帖子发布时,[attachimg]/[attach]标签总是不能正确解析,但是手动上传有没问题有问题,我存的表pre_forum_attachment_0~pre_forum_attachment_9是随机生成的,在pre_forum_attachment的表中通过tableid关联上。
没办法,只能看Discuz的代码了,发现存在哪个附件表,其实是有逻辑在里面的,并不是简单的把tableid关联上,大家可以看下代码,在source/function/function_core.php下的getattachtableid函数中。
多的就不多说了,做技术的一看就明白了。
另外Discuz的附件解析的函数在source/function/function_attachment.php下的parseattach函数中。