如何转义带空格的文件名


How to escape file names with spaces?

我有一些包含空格的文件夹,例如:

/user/mike/abc/de fg/hi

如何转义路径以便可以使用 php 访问它?(例如,文件获取内容 glob、file_exists等。我试过了:

$files = glob("/user/mike/abc/de' fg/hi/*.*");
print_r($files)  //is empty

我还尝试了escapeshellcmd和escapeshellarg。

我做错了什么?(除了使用带空格的文件)

因为您在双引号文本中使用转义 - 它将无法正常工作 - 嗯,正如预期的那样。

它要么需要"/user/mike/abc/de'' fg/hi/*.*",因为逃逸将被转义。

您可以使用不转义任何内容的单引号,并完全按照您键入的方式使用字符串。 即:'/user/mike/abc/de' fg/hi/*.*'

有关可以使用字符串文本执行的操作的其他信息的进一步阅读,请参阅:http://php.net/manual/en/language.types.string.php