无法使用来自Intranet的scandir

时间:2012-09-10 20:37:46

标签: php scandir

我正在尝试使用scandir()来获取目录的文件列表。

<?php
function getFileList($directory) {
    //Get the listing of the files/folders within the directory, place into an array.
    $files = scandir($directory);
    //Remove . and .. from the array.
    unset($files[0]);
    unset($files[1]);
    //Reindex array.
    $files = array_values($files);

    return $files;
}

$directory = '//192.168.1.20/is/Vendors/DavLong/Krames/';
    $files = getFileList($directory);

?>

使用此代码在从我的本地计算机(192.168.1.165)运行时效果很好,但是当通过公司内部网(192.168.1.35)运行时,我收到以下警告,使我的脚本无法运行:

Warning: scandir(//192.168.1.20/is/Vendors/DavLong/Krames/) [function.scandir]: failed to open dir: Invalid argument in C:\Inetpub\wwwroot\DocumentPrint\index.php on line 4

Warning: scandir() [function.scandir]: (errno 22): Invalid argument in C:\Inetpub\wwwroot\DocumentPrint\index.php on line 4

Warning: array_values() [function.array-values]: The argument should be an array in C:\Inetpub\wwwroot\DocumentPrint\index.php on line 9

我可以在Windows中运行对话框并在使用192.168.1.35框时输入//192.168.1.20/is/Vendors/DavLong/Krames/,它确实在适当的位置打开Windows资源管理器,以便该机器能够找到所请求的地址。

有人可以帮助我解决我在本地和内部网上工作的问题。提前感谢您提供有关情况的任何启示。

1 个答案:

答案 0 :(得分:0)

我不知道如何通过这样的网络阅读文件夹,但是你不可能映射网络驱动器并在该驱动器上尝试scandir()吗?