为什么is_dir()函数不适用于PHP中的网络路径?

时间:2012-07-26 14:01:54

标签: php file-io samba

我正在检查我的代码,如果目录存在或不存在is_dir()

适用于本地驱动器,但不适用于网络路径。

任何人都可以帮助我吗?

这是我的示例代码:

public function setXMLFilePath($filePath) {
    if(is_dir($filePath)) {
        $this->XMLFilePath = $filePath;
        $retVal = true;
    } else {
        $ratVal = false;
    }

    return $retVal;
}//setXMLFilePath

我的网络路径是这样的:

$filePath = '\\Nas-heidi\heidi\FAS\Polish GameRobot\Export_Raffle\';

2 个答案:

答案 0 :(得分:0)

与文件相关的函数包裹在a few protocols上,Windows网络架构不是其中之一。

另外值得注意的是,当您访问其中一个(外部)协议时,您不应该使用\\\network_computer\network_folder\之类的简写,您应该使用完整的协议规范,例如ftp:// / {{ 1}} / http://如果存在Windows网络协议,它可能会有这样的标识符。

答案 1 :(得分:0)

这可能是因为运行PHP脚本的帐户(可能是启动Apache服务的计数)对此类目录没有权限。