$a = file('C:\\test.txt');
foreach($a as $line)
{
echo $line."<BR>";
}
我這樣子可以成功讀取到 c槽下的檔案
把
$a = file('C:\\test.txt');
換成
$a = file('\\\xxx.xxx.xxx.xxx\\e\\test.txt');
執行時顯示
Warning: file(\\xxx.xxx.xxx.xxx\e\test.txt) [function.file]: failed to open stream: Permission denied in C:\wamp\www\bbb.php on line 3
但我把
\\xxx.xxx.xxx.xxx\e\test.txt
貼到
網址列
它會彈出那個文字檔的內容耶
請問要怎麼解決呢??
謝謝
你透過瀏覽器去執行 php,取用該網芳檔案的人是 apache runner,如果 apache 是安裝在 windows 下,那應該是 SYSTEM 身份。
而你在瀏覽器網址列打網芳位址去連,取用該網芳檔案的人是你,你能看得到檔案,表示你現在這個身份是可以取用該檔案的。
所以解法有 2:
第一個方法我有試出來
應該是這麼說吧
我自己是a電腦,我要連到b電腦的檔案
a、b電腦是不是要有一組相同的帳、密
能有辦法連過去
我有試著在雙方的電腦加一組帳、密
然後在apache那裡改成那組帳號登入
的確可以成功存取b電腦的檔案了
但是第二點要怎麼做呢??
第二點是:不需要加帳密,直接把該檔案設給 SYSTEM 這個群組可以存取。因為 apache 預設使用這個身份執行。
wiseguy大
我看它安全性中
預設就有看到 SYSTEM了啊
但我還是連不進去
看來據微軟官方說法,透過服務,系統帳戶基於安全原則是不給存取網路檔案的。
http://support.microsoft.com/kb/124184
所以只好用第一種方式了。