当我使用php时,通过ip或计算机名读取局域网上的文件。
$url = "\\\\192.168.0.200\\testshare\\1.txt";
if(file_exists($url) == TRUE) {
echo "OK";
} else {
echo "Error";
}
结果:总是“错误”。
如果我使用函数文件获取内容($url,true);结果:
Warning: file_get_contents(\\192.168.0.200\testshare\1.txt) [function.file-get-contents]: failed to open stream: Permission denied in D:\services\htdocs\test.php on line 3
当然,文件夹“testshare”设置为share和permission everyone完全控制。如果我使用磁带Web浏览器:192.168.0.200\testshare\1.txt,它将读取文件1.txt的内容。
你能帮助我吗?每一个想法都对我有帮助,我非常感谢。
最佳答案
以下是您如何在本地完成(win 7),如果它是一个远程服务器,您可能需要跨越一些防火墙障碍
在桌面上创建一个空白文件夹并将文件放入其中,然后右键单击该文件夹并单击“与共享…”。然后选择特定人员,然后在下拉选项框中选择“所有人”。
您将获得一个看起来像testshare (file://YOUR-PC-NAME/Users/YourAcount/Desktop/testshare)
的地址
那就这样用那个地址:
<?php
$url = "//YOUR-PC-NAME/Users/YourAcount/Desktop/testshare/1.txt";
if(file_exists($url) == TRUE) {
echo "OK";
} else {
echo "Error";
}
?>
对于远程服务器,请记住在您的软件防火墙中允许端口137445,这也是一个安全风险,因此不要让外部广域网流量具有访问权限。我记得xp默认共享c:drive的日子。