您的位置:首页 > 理论基础 > 计算机网络

php访问网络共享资源和本地文件

2012-07-03 12:42 1031 查看
作者:林子木

公司禁网,但是我的工作需要对外网,所以只能利用公司的公用电脑。使用自己的电脑远程操作他(其实可以弄代理的,但没有用这种方法)。所以一些文件都在公用机子上面,然而又由于本人比较懒,不想考来考去,所以采用将要访问的文件夹,设置为共享,然后访问用php访问。

(ps:关于网络配置在文章下面)

简单测试代码如下:

<meta http-equiv="Content-Type"content="text/html;charset=GBK">
<?php
$filename = "//192.168.1.31/pic_gather/figure/1.png";
$size = filesize($filename);
echo $size;

?>


上述代码实现的是,读取公用电脑下共享的pic_gather/figure路径下的1.png文件的大小。

注意了,这里的为了跟好的兼容linux斜杆只能用“/”否则访问不成功。(ps:有些同学习惯性的写\\192.168.1.31\pic_gather,但是注意了php\代表转意符号,所以正确的应该这样写\\\\192.168.1.31\\pic_gather)。

访问本地资源,代码如下:

<meta http-equiv="Content-Type"content="text/html;charset=GBK">
<?php
$filename = "D:/pic_gather/figure/1.png";
$size = filesize($filename);
echo $size;

?>


PHP访问局域网上其他计算机共享资源的配置:

有A(192.168.1.1) B(192.168.1.2) 两台机子。

在A上装有appache,要访问B的共享资源,如pic_gather。

step1 必须保证pic_gather已经能被访问(其中包括防火墙设置,共享设置,这里就不具体讲了),可以测试下,在电脑的资源管理器(应该这么叫的吧,附上图)上输入\\192.168.1.2\pic_gather,能打开B机上的文件,如下图



step2 A、B两天计算机必须在一个工作组下面(名称随意自己设置,但必须是一个工作组哦)(XP是 我的电脑->右键->属性->计算机名称->更改->工作组,更改完得重启计算机的)(win是 计算机->右键->属性->高级系统设置->计算机名称->更改->工作组,更改完得重启计算机的)。(ps:作者表示,我没有在相同的组里面,依然可以)

step3 B要开启guest。(ps:作者表示,我没有启用来宾模式,依然可以)

step4 B上pic_gather的文件夹在共享设定方面要设定为“允许用户更改我的文件(这个可以再第一步就设置好,不设置的话,只能访问不能修改)

step5 在A上, cmd里面输入services.msc后,双击apache服务,在“登录”选项卡里面,把运行账号改为登录windows的超级账号(比如Administrator),重启apache服务。(ps 想作者是一个懒人,没有装appache,只是用了集成软件zend,所以服务里面只有appche2.2-zend,其实原理一样的)。

step6 开心的测试了,测试代码已经在上面给出不重复了哦。

reference:GJ的博客 《php透过apache访问网络驱动器的方法》 http://blog.163.com/mental_01/blog/static/3888829620116892033429/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: