2013-03-19 4 views
0

У меня есть PHP-скрипт, который пытается открыть каталог «C: \ Users \ userA \ Desktop». Однако вызов opendir() возвращает false. Вот мой код:PHP opendir() не работает в IIS

$path = 'C:\Users\userA\Desktop'; 
var_dump (is_dir($path)); //prints TRUE 
var_dump (is_readable($path)); //prints TRUE 
var_dump (is_writable($path)); //prints TRUE 
var_dump (open_dir($path)); //prints FALSE 

Когда я запускаю вышеуказанное из командной строки, все ИСТИНА и работает как ожидалось. Когда я запускаю его через вызов Ajax из веб-браузера, opendir терпит неудачу. Это работает в IIS 7.5. Я установил разрешения для этого каталога на полные разрешения для «Все». Тем не менее, все еще, похоже, что-то вроде разрешения. Я не знаю, куда идти отсюда.

+0

Какая версия PHP? как насчет 'скандира'? – Baba

+0

'open_dir' или' opendir'? –

+0

извините. Опечатка. Это opendir(). – scott80109

ответ

1

Я нашел решение своей проблемы. Я добавил разрешения для «C: \ Users \ userA \ Desktop». Мне нужно было открыть еще один каталог. Я предоставил привилегии IIS_IUSRS для «C: \ Users \ userA», и это решило мою проблему.

+0

Я столкнулся с этой проблемой также с Apache и PHP. И обнаружил, что это действительно по праву по файлу. Как пользователь apache, я попробовал dir% DIRECTORY%, он перечислил все. dir% DIRECTORY%/subdir не удалось. Не найден. cd% DIRECTORY%/subdir не удалось с разрешением Permission denied. Если вы не уверены, используйте runas/user: serveruser cmd и попробуйте сами. – Pihhan

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