要解决PHPCMS上传SVG、MP4、DOCX等文件失败的问题,需修改三方面配置:1. 后台进入“附件类型管理”,添加svg、mp4、docx等扩展名至对应分组并设置大小限制;2. 修改php.ini中upload_max_filesize、post_max_size和max_execution_time参数,重启Web服务;3. 编辑/phpcms/libs/functions/global.func.php中的check_extension()函数,将所需扩展名加入$allow_ext白名单;4. 检查内容模型或会员中心等模块的独立上传逻辑,确保无额外限制。修改后测试各类文件上传,确保功能正常且不开放php、exe等可执行文件类型,防范安全风险。

在使用PHPCMS时,如果需要上传特定类型的文件(如SVG、MP4、DOCX等),可能会遇到上传失败的情况,这通常是由于系统默认的上传文件类型限制所致。要解决这个问题,需修改相关配置以允许更多文件类型。
登录PHPCMS后台,进入“后台管理” → “系统” → “附件管理” → “附件类型管理”,在这里可以看到当前允许上传的文件类型列表。
可以根据需要添加新的文件扩展名,例如:
找到对应分组或新建分组,将扩展名加入,并设置允许上传的大小限制。
立即学习“PHP免费学习笔记(深入)”;
确保服务器PHP配置支持大文件及指定类型上传:
检查 php.ini 文件中以下参数:修改后重启Web服务(如Apache或Nginx)使配置生效。
PHPCMS在代码层也有文件类型检查,主要位于:
/phpcms/libs/functions/global.func.php
查找函数 check_extension() 或类似处理上传校验的部分,确认是否对扩展名做了硬编码限制。
例如,若发现以下代码:
// 允许的扩展名列表$allow_ext = array('jpg','jpeg','gif','png','bmp');可手动添加所需类型,如:
$allow_ext = array('jpg','jpeg','gif','png','bmp','svg','mp4','docx','xlsx');某些模块(如文章附件、会员头像)可能有独立的上传限制,需查看对应控制器或模板中的上传调用。
例如在 content.php 或 upload.php 中查找上传逻辑,确认是否传入了受限的 $ext 参数。
可适当调整调用参数或增加白名单。
基本上就这些。修改后建议测试上传各类文件,确保功能正常且无安全风险。注意不要开放可执行文件(如php、exe)上传权限,避免带来安全隐患。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号