2012-02-03 2 views
2

Я хочу открыть каталог в файловой системе Linux с помощью функции PHP opendir().Пути PHP Opendir(), содержащие пробелы

Путь может содержать пробелы или некоторые другие специальные символы.

В то время как я пытаюсь открыть каталог я получаю:

Warning: opendir(/home/user/_demo/test/salamis\ test): failed to open dir: No such file or directory 

я поначалу пытался заменить символ пробела с \ (слэш пространства) с помощью:

str_replace(" ","\ ","salamis test"); 

Но, к сожалению, не работает , Какие-либо предложения?

+2

Вы пробовали 'opendir ("/home/user/_demo/test/salamis test ");'? –

ответ

0

Включить параметр пути в кавычки (двойной или одиночный).

например.

opendir('/home/user/_demo/test/salamis test'); 
opendir("/home/user/_demo/test/salamis test"); 

$path = '/home/user/_demo/test/salamis test'; 
opendir($path); 

$path = "/home/user/_demo/test/salamis test"; 
opendir($path);  
+0

Если он не включил этот путь в кавычки, он получит ошибку синтаксического анализа. Сценарий даже не запустится. – webbiedave

+0

@webbiedave Я предполагаю, что он включает '\\' перед пробелами. – ThinkingMonkey

+0

Necro-commenting, но это не решение. Это не решает эту проблему. – Niddro

0

Такая же проблема сегодня. Я обнаружил, что добавление котировок не помогло. Я понял, что папка общего доступа была смонтирована с другой учетной записью пользователя, и после umounting и обновления/etc/fstab с правильным uid gid (apache) мне удалось смонтировать и обработать файлы на общем ресурсе.

This answer был также полезен.

Смежные вопросы