PHP读不了网络共享文件夹吗?帮忙看下

多菜鸟 2011-01-21 04:31:34
奇怪了,网页能显示出图上,可为什么PHP不能读取目录呢?
有人能告诉我为什么吗?


$dir = "file://192.168.1.2/Pictures/Photo/big/";
echo is_dir($dir) ? "YES!":"NO!";//out of NO!
$dirArr = scandir($dir);
print_r($dirArr);

// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
}
closedir($dh);
}
}
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<img src="file://192.168.1.2/Pictures/Photo/big/3 POINT/CAMOU.JPG" width="630" height="473" />
</body>
</html>
...全文
278 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
多菜鸟 2011-01-25
  • 打赏
  • 举报
回复
只有用最后一招了,在需要的机器上装上PHP平台。结帖了,谢谢讨论。
小斌online 2011-01-24
  • 打赏
  • 举报
回复
这个没办法访问 我尝试过
主要是访问共享文件时候的用户登录问题 估计要用php的扩展来实现
deyygywxf 2011-01-24
  • 打赏
  • 举报
回复
$dir = "//192.168.1.2/Pictures/Photo/big/";
多菜鸟 2011-01-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 ma2jiajia 的回复:]
先将网络共享盘映射到本地
之后再用Z:\Pictures\Photot\big的方式访问
[/Quote]
网络映射好像是依存于登陆用户的,如果换一登陆名,似乎映射就要重新弄过。
对于访问者来说,服务器端的PHP运行的时候,不清楚用的什么用户?
多菜鸟 2011-01-22
  • 打赏
  • 举报
回复
楼上的,斜杠在PHP中是转义的作用,你这样子肯定不行了,要用单引号括起来还可以说得过去。
但结果还是

NO!
Warning: scandir(\192.168.106.12\FileShared\Pictures\Photo\big) [function.scandir]: failed to open dir: No such file or directory in D:\www\web\viewpictures.php on line 4
ma2jiajia 2011-01-22
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 kingerq 的回复:]
楼上的,斜杠在PHP中是转义的作用,你这样子肯定不行了,要用单引号括起来还可以说得过去。
但结果还是

NO!
Warning: scandir(\192.168.106.12\FileShared\Pictures\Photo\big) [function.scandir]: failed to open dir: No such file or directory in D:\www\……
[/Quote]
先将网络共享盘映射到本地
之后再用Z:\Pictures\Photot\big的方式访问
skyaspnet 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 kingerq 的回复:]
奇怪了,网页能显示出图上,可为什么PHP不能读取目录呢?
有人能告诉我为什么吗?


PHP code

$dir = "file://192.168.1.2/Pictures/Photo/big/";
echo is_dir($dir) ? "YES!":"NO!";//out of NO!
$dirArr = scandir($dir);
print_r($dirArr);
……
[/Quote]

代码改为:


$dir = "\\192.168.1.2\Pictures\Photo\big\";
echo is_dir($dir) ? "YES!":"NO!";//out of NO!
$dirArr = scandir($dir);
print_r($dirArr);

// Open a known directory, and proceed to read its contents
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false) {
echo "filename: $file : filetype: " . filetype($dir . $file) . "\n";
}
closedir($dh);
}
}

多菜鸟 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 kingerq 的回复:]
确定可以通过上面的方式访问,在同一域里面的。
是win2003的系统。
[/Quote]
在我的电脑中可以访问。
多菜鸟 2011-01-21
  • 打赏
  • 举报
回复
确定可以通过上面的方式访问,在同一域里面的。
是win2003的系统。
foolbirdflyfirst 2011-01-21
  • 打赏
  • 举报
回复
对方是linux还是windows?
foolbirdflyfirst 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 kingerq 的回复:]

引用 3 楼 foolbirdflyfirst 的回复:
$dir = "file://192.168.1.2/Pictures/Photo/big/";
--------------------------------------------------

PHP code
$dir = "//192.168.1.2/Pictures/Photo/big/";


这个试过了也……
[/Quote]
怎么我都可以你就不行。
你确认那个文件路径是局域网共享目录吗?
cntigercat 2011-01-21
  • 打赏
  • 举报
回复
多菜鸟 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 foolbirdflyfirst 的回复:]
$dir = "file://192.168.1.2/Pictures/Photo/big/";
--------------------------------------------------

PHP code
$dir = "//192.168.1.2/Pictures/Photo/big/";
[/Quote]

这个试过了也没有用。

如何读取网络共享呢?有办法不?
foolbirdflyfirst 2011-01-21
  • 打赏
  • 举报
回复
file:// 是本地文件传输协议
foolbirdflyfirst 2011-01-21
  • 打赏
  • 举报
回复
$dir = "file://192.168.1.2/Pictures/Photo/big/";
--------------------------------------------------
$dir = "//192.168.1.2/Pictures/Photo/big/";
ihefe 2011-01-21
  • 打赏
  • 举报
回复
file://192.168.1.2/ 这样是浏览器解析, php 貌似没这功能
多菜鸟 2011-01-21
  • 打赏
  • 举报
回复
错误输出如下信息

NO!
Warning: scandir() [function.scandir]: remote host file access not supported, file://192.168.1.2/Pictures/Photo/big/ in D:\www\web\viewpictures.php on line 4

Warning: scandir(file://192.168.1.2/Pictures/Photo/big/) [function.scandir]: failed to open dir: no suitable wrapper could be found in D:\www\web\viewpictures.php on line 4

Warning: scandir() [function.scandir]: (errno 2): No such file or directory in D:\www\web\viewpictures.php on line 4

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧