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

PHP glob()函数传入读取txt文件得到的变量时无返回结果问题

问题根因

你遇到的问题有两个核心原因:

  1. 从txt文件读取的字符串带有肉眼不可见的冗余字符,比如文件末尾的换行符、回车符、首尾空白,echo输出时这些字符不会显示,所以你会误以为和手动填写的内容完全一致,但实际传入glob后会破坏花括号的匹配格式。
  2. PHP双引号字符串中{$变量名}的写法是变量边界界定符,你原来的写法会把{当成界定符的一部分,不会作为字面量拼入最终路径,导致glob拿到的路径根本没有花括号结构,GLOB_BRACE标识无法生效。

修复后可直接运行的代码

// 读取文件内容
$file = file_get_contents("C:/xampp/htdocs/gomanga/data/account/Getto/favorites/favorites.txt");
// 清理首尾的空白、换行、回车等不可见字符
$file = trim($file);

// 拼接路径时显式拼接花括号,避免和变量界定符混淆
$path = "C:/xampp/htdocs/gomanga/central/{" . $file . "}";
$dire = glob($path, GLOB_BRACE);

foreach($dire as $f){
  echo $f.'<br>';
}

调试验证方法

如果调整后还是有问题,可以打印拼接后的完整路径和手动写的路径做对比,确认格式完全一致:

// 调试用:输出完整路径
var_dump($path);
// 和你手动写的有效路径逐字符对比即可找出差异

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 14:27:03