我正在尝试使用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资源管理器,以便该机器能够找到所请求的地址。
有人可以帮助我解决我在本地和内部网上工作的问题。提前感谢您提供有关情况的任何启示。
答案 0 :(得分:0)
我不知道如何通过这样的网络阅读文件夹,但是你不可能映射网络驱动器并在该驱动器上尝试scandir()吗?