如何使用空格转义文件名?

时间:2016-03-14 13:18:51

标签: php file escaping

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

/user/mike/abc/de fg/hi

如何逃避路径以便我可以使用php访问它? (例如,filegetcontents glob,file_exists等..)我试过了:

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

我也试过了escapeshellcmd和escapeshellarg。

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

1 个答案:

答案 0 :(得分:1)

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

它必须是"/user/mike/abc/de\\ fg/hi/*.*",因为转义将被转义。

OR

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

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