我想在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
关于如何解决这个问题的任何想法?
谢谢!
答案 0 :(得分:5)
反斜杠用于转义命令行上的空格,因为命令行上的空格是参数分隔符。 PHP中没有这样的问题。如果你给fopen
任何字符串,它期望这一个字符串是一个路径。它不会将路径分解为空格中的单独参数,因为在此上下文中没有任何意义。
因此,只是不添加任何反斜杠。路径path/to\ the/file.txt
与路径path/to the/file.txt
不同。