访问PHP中名称中带空格的文件夹中的文件

时间:2012-09-03 08:21:35

标签: php

我想在PHP中的文件夹中打开一个文件。问题是包含该文件的文件夹可能在名称中有空格。我用来打开文件(但不起作用)的代码如下:

$myFile = "path/to the/file.txt";
$myFile = str_replace(' ', '\ ', $myFile);
$fh = fopen($myFile, 'r');
$theData = fread($fh, filesize($myFile));
fclose($fh);
echo $theData;

正如您所看到的,我正试图通过在空间前放置一个\来解决问题,但这并不能解决问题。我仍然收到以下错误:

Warning: fopen(path/to\ the/file.txt) [function.fopen]: failed to open stream: No such file or directory in /path/to/my/website on line 49

关于如何解决这个问题的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:5)

反斜杠用于转义命令行上的空格,因为命令行上的空格是参数分隔符。 PHP中没有这样的问题。如果你给fopen任何字符串,它期望这一个字符串是一个路径。它不会将路径分解为空格中的单独参数,因为在此上下文中没有任何意义。

因此,只是不添加任何反斜杠。路径path/to\ the/file.txt与路径path/to the/file.txt不同。