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

PHP使用scandir扫描含空格路径时提示目录无效问题咨询

问题原因与解决方法

你犯了一个基础错误:scandir() 函数的参数必须是目录路径,但你传入的是具体的文件路径 /folder/File in my computer.pdf,这直接导致了“目录名称无效”的错误——跟文件名里的空格完全无关,所以你之前用str_replace转义空格的操作根本没触碰到问题核心。

正确做法

  1. 如果你要扫描文件所在的目录,应该传入目录路径,比如 /folder/:
$dir = "/folder/";
$files = scandir($dir);
// 之后可以在返回的文件列表里查找目标文件
if (in_array("File in my computer.pdf", $files)) {
    echo "文件存在";
}
  1. 如果只是要检查这个文件是否存在,不需要用scandir,直接用file_exists()或者is_file()更高效:
$filename = "/folder/File in my computer.pdf";
if (file_exists($filename)) {
    echo "文件存在";
}
// 或者确认是文件而非目录
if (is_file($filename)) {
    echo "这是一个有效文件";
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 08:30:42