PHP访问局域网共享文件
各位好!我想访问局域网内另外一台计算机上的图片文件,可是在PHP里面老是找不到。在PHP里面用filesize测试图片的大小都不行!代码是:
$filename = "http://172.16.18.123/pic/2012.png";
$size = filesize($filename);
echo $size;
报的错是:Warning: filesize() [function.filesize]: stat failed for http://172.16.12.103......
我确定两台机器是在一个网段,而且共享都设置了的。我在浏览器输入上述代码中的url地址都可以的。
请教哪位处理过这种问题的大侠!不甚感激!!
回复讨论(解决方案)
$filename = "//172.16.18.123/pic/2012.png";
$filename = "//172.16.18.123/pic/2012.png";
非常感谢您!!我试了,对的!不过我发现一个问题,如果我写成
$filename = "//172.16.18.123/news/pic/2012.png";还是找不到。news文件夹和pic文件夹都是共享出来的,只是news是pic的上一级。这是怎么回事呢?劳烦您再帮我解答下疑问不甚感激!还有,如果我把2012.png直接放到172.16.18.123的F盘根目录下,代码应该怎么写啊???多谢这位大侠!本人实在菜鸟,不好意思呀!!!
统一资源定位
//机器名或ip/共享名/路径/文件名
今天我又学了一招
统一资源定位
//机器名或ip/共享名/路径/文件名
谢谢这位大侠,不好意思再麻烦你下下~~~~请问这种情况下,如果想保证远程文件的安全性应该怎么做呢?看了手册里面说开启安全模式,PHP会检查脚本与要读取的文件的UID,这个具体是什么意思啊?UID是怎么检查的呢?有没有深入一点的资料推荐一下啊~~~~或者,php.ini里面能不能对远程文件的登录权限做一个设置啊?比如设置它的用户名和密码,这样通过验证了才能打开远程文件。谢谢您!!万分感激 !!期待您的回复哦!!!
无协议声明时,默认协议名是 file 只适用于局域网
如需安全检查,就不能用同一资源定位了。需改用 LDAP
本帖最后由 xuzuning 于 2012-12-18 11:27:22 编辑无协议声明时,默认协议名是 file 只适用于局域网
如需安全检查,就不能用同一资源定位了。需改用 LDAP
谢谢!!我就是想在局域网内简单调用另一台机器上的某个文件,但是用统一资源定位不能进行安全检查,即不能进行用户登录权限的验证。这种情况我如果把目标机器的文件夹映射到本地磁盘,这样子能不能行呢?我代码里这样写$pic="Z:\\data\news\pic\1.jpg";Z是另外那台机器上的文件夹映射到本机的盘符,这样子不行,PHP好像不认识,是不是我写错了呢?请教您了!!总之我只想简单地调用一下一个东西,但是又不想把那台机器上的文件夹完全暴露出来,就是稍微安全一点,请你帮忙解答!!万分感激啊!!!
NET USE
作用:连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息。
命令格式:net use 〔devicename | *〕 〔computernamesharename〔volume〕〕 〔password | *〕〕 〔/user:〔domainname〕username〕 〔〔/delete〕 | 〔/persistent:{yes | no}〕〕
参数介绍:
键入不带参数的net use列出网络连接。
devicename指定要连接到的资源名称或要断开的设备名称。
computernamesharename服务器及共享资源的名称。
password访问共享资源的密码。
*提示键入密码。
/user指定进行连接的另外一个用户。
domainname指定另一个域。
username指定登录的用户名。
/home将用户连接到其宿主目录。
/delete取消指定网络连接。
/persistent控制永久网络连接的使用。
简单事例:
(1)net use e: YFANGTEMP将YFANGTEMP目录建立为E盘
(2)net use e: YFANGTEMP /delete断开连接
NET USE
作用:连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息。
命令格式:net use 〔devicename | *〕 〔computernamesharename〔volume〕〕 〔password | *〕〕 〔/user:〔domainname〕username〕 〔〔/delete〕 | 〔/persistent:{yes |……
大侠,我按照你说的试了,把172.16.22.10上的F盘映射到我本机的Z盘,我在命令行是这样输的:net use z: \\172.16.22.10\f$ "password" /user:"administrator",我试了这样是可以的。但是我在PHP里用system函数执行的时候就不行,请您帮我看看,我的代码是:
$cmd="net use z: \\\\172.16.22.10\\f$ \"password\" /user:\"administrator\"";
if(system($cmd))
echo "映射成功";
else echo "映射失败";
请你帮我看看是代码的问题,还是php.ini里面需要配置什么东西才行啊, 我的安全模式是关了的。
谢谢!!!非常感谢您不耐其烦解答我一个菜鸟的弱弱问题。。。!!期待您的回复哦!!~~~
字符 \ 反过来写,就清楚多了
$cmd="net use z: //172.16.22.10/f$ password /user:administrator";
还有 password 是 administrator 的登录口令,要真实的
字符 \ 反过来写,就清楚多了
$cmd="net use z: //172.16.22.10/f$ password /user:administrator";
还有 password 是 administrator 的登录口令,要真实的
谢谢你大侠!!我按照你说的来写了,但是还是不行艾~~~麻烦你再帮我看看:
$cmd="net use z: //172.16.22.10/f$ pass123456 /user:username";
system($cmd);
您看会不会是system函数的问题啊,需要在配置文件里修改什么不呢?
我在命令行里操作是可以的,就是PHP执行不了。
再次感谢您!!~~~~~~~~~~~
请问楼主 最后这个问题解决了吗 我现在也遇到同样的问题了,查了好多资料也没解决。求帮助啊

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

SOLID原则在PHP开发中的应用包括:1.单一职责原则(SRP):每个类只负责一个功能。2.开闭原则(OCP):通过扩展而非修改实现变化。3.里氏替换原则(LSP):子类可替换基类而不影响程序正确性。4.接口隔离原则(ISP):使用细粒度接口避免依赖不使用的方法。5.依赖倒置原则(DIP):高低层次模块都依赖于抽象,通过依赖注入实现。

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸

如何在系统重启后自动设置unixsocket的权限每次系统重启后,我们都需要执行以下命令来修改unixsocket的权限:sudo...

使用PHP的cURL库发送JSON数据在PHP开发中,经常需要与外部API进行交互,其中一种常见的方式是使用cURL库发送POST�...
