2013-03-19 74 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 

當我從命令行運行上述內容時,一切都爲TRUE,並按預期工作。當我通過Web瀏覽器的Ajax調用運行它時,opendir失敗。這在IIS 7.5中運行。我已將該目錄的權限設置爲「Everyone」的完全權限。但是,它似乎仍然是某種權限問題。我不確定該從哪裏出發。

+0

什麼版本的PHP? 「scandir」呢? – Baba 2013-03-19 19:22:50

+0

'open_dir'或'opendir'? – 2013-03-19 19:24:32

+0

對不起。錯字。它是opendir()。 – scott80109 2013-03-19 20:29:30

回答

1

我找到了我的問題的解決方案。我已將權限添加到「C:\ Users \ userA \ Desktop」。我需要再上一個目錄。我將IIS_IUSRS權限授予「C:\ Users \ userA」,並解決了我的問題。

+0

我遇到了這個問題也與Apache和PHP。並發現它實際上是通過文件權利。作爲apache用戶,我嘗試了dir%DIRECTORY%,它列出了所有。 dir%DIRECTORY%/ subdir失敗,未找到。 cd%DIRECTORY%/ subdir失敗,權限被拒絕。如果不確定,請使用runas/user:serveruser cmd並嘗試自己。 – Pihhan 2013-04-25 12:17:29