You need to enable JavaScript to run this app. PHP中如何从$_FILES上传数组中提取文件名及对应文件扩展名
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何从$_FILES上传数组中提取文件名及对应文件扩展名

解决方案

核心误区说明

你看到的string(23) "2021-05-14_20-59-00.jpg"是var_dump()/var_export()这类调试函数的输出格式,不是$_FILES['picture']['name']的实际值。这个变量本身存储的就是纯文件名字符串,可以直接传入pathinfo处理。

实现代码

直接提取扩展名

// 第一步:获取原始文件名,变量本身就是纯字符串格式
$originName = $_FILES['picture']['name'];
// 第二步:用pathinfo提取扩展名
$extension = pathinfo($originName, PATHINFO_EXTENSION);
// 此时 $extension 的值就是字符串 "jpg"

同时获取不带后缀的文件名和扩展名

$originName = $_FILES['picture']['name'];
$fileInfo = pathinfo($originName);
// 不带后缀的文件名:2021-05-14_20-59-00
$pureName = $fileInfo['filename'];
// 扩展名:jpg
$extension = $fileInfo['extension'];

补充提示

如果是用于上传校验,不要完全依赖文件名后缀,建议同时校验文件的MIME类型、文件头内容,避免恶意脚本修改后缀绕过校验。

内容的提问来源于stack exchange,提问作者Kojak Eugenio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 20:15:03