Я хотел бы открыть файл внутри папки на 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
Любая идея о том, как решить эту проблему?
Благодаря!
Обратные косые черты используются для исключения пробелов в командной строке , поскольку пробелы в командной строке являются разделителями аргументов. В PHP нет такой проблемы. Если вы даете какую-либо строку fopen
, она ожидает, что эта одна строка является одним путем. Он не разбивает путь на отдельные аргументы в пространствах, потому что это не имеет смысла в этом контексте.
Поэтому просто не добавляйте никаких обратных косых черт. Путь path/to\ the/file.txt
не совпадает с пути path/to the/file.txt
.