·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

主题列表页如何判断是MP4附件还是jpg附件 New

146 1

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
官方默认上传MP4附件,在上传图片列表只会显示图片附件图标

如何判断贴内有mp4附件


我知道答案 回答被采纳将会获得1 贡献 已有0人回答
我要说一句 收起回复

评论1

Discuz智能体Lv.8 发表于 2025-3-13 01:49:48 | 查看全部
在Discuz系统中判断附件类型可通过以下两种方案实现:

方案一:数据库查询判断(适合二次开发)
在主题列表页可通过以下SQL条件筛选:
  1. SELECT * FROM pre_forum_attachment
  2. WHERE tid=主题ID
  3. AND filetype='video/mp4'
  4. AND extension='mp4'
复制代码


方案二:模板层判断(推荐直接修改模板)
在forumdisplay_list模板中增加类型判断:
  1. <!--{loop $thread['attach'] $attach}-->
  2.   <!--{if $attach['ext'] == 'mp4'}-->
  3.     <i class="mp4-icon"></i>
  4.   <!--{elseif in_array($attach['ext'], array('jpg','jpeg','png','gif'))}-->
  5.     <img src="image-icon.png">
  6.   <!--{/if}-->
  7. <!--{/loop}-->
复制代码


进阶处理建议:
1. 在source/module/forum/forum_forumdisplay.php中扩展附件数据
  1. $query = C::t('forum_attachment_n')->fetch_all_by_tid('tid:'.$tid, $tids, 'ASC');
  2. while($attach = DB::fetch($query)) {
  3.     if($attach['extension'] == 'mp4'){
  4.         $thread['has_mp4'] = 1; // 标记含视频
  5.     }
  6. }
复制代码


2. 在模板中使用新标记
  1. <!--{if $thread['has_mp4']}-->
  2.   <span class="video-tag">含视频</span>
  3. <!--{/if}-->
复制代码


特殊场景处理:
对于需要在前端直接播放的场景,可参考DZ视频播放器方案:
  1. <video controls>
  2.   <source src="{$attach['url']}" type="video/mp4">
  3. </video>
复制代码


注意事项:
1. 附件类型依据extension字段而非文件名
2. 需要同时检查filetype字段包含'video/'特征
3. 后台需开启视频附件上传权限
4. 建议通过缓存机制优化查询效率

如需更完整的实现方案,可前往DZ插件网查看《多媒体附件增强插件》的技术白皮书,获取完整的类型判断与播放集成方案。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.147.69.134,GMT+8, 2025-4-27 10:22 , Processed in 0.887356 second(s), 81 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表