You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP使用glob函数读取含逗号的文件夹路径返回空数组问题

PHP glob函数路径含逗号返回空数组的解决方案

问题原因

glob函数默认会将路径中的逗号识别为模式扩展的分隔符,用于支持{file1,file2,*.txt}这类多模式匹配语法,因此路径中存在未转义的逗号时,函数会错误解析路径规则,导致匹配不到对应文件。

修复方案

方案1:转义路径中的特殊字符

对路径中的逗号(以及其他glob特殊字符如{、}、*等)添加反斜杠转义,即可正常识别路径:

$path = 'upload/Test, Folder';
// 转义路径中的逗号
$safe_path = str_replace(',', '\,', ABSPATH . $path);
print_r(glob($safe_path . "/*.*"));

方案2:改用原生目录遍历类(更稳定)

如果不需要使用glob的模式匹配能力,直接用PHP内置的DirectoryIterator遍历目录,完全不受路径特殊字符影响:

$path = ABSPATH . 'upload/Test, Folder';
$file_list = [];
foreach (new DirectoryIterator($path) as $item) {
    // 只保留普通文件,过滤目录和.、..
    if ($item->isFile()) {
        $file_list[] = $item->getFilename();
    }
}
print_r($file_list);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:48:05