0

我正在尝试检查文件中是否存在目录列表,如下所示:

<?php
    $file = "L:/tmp/file1.txt";
    $f = fopen($file, "r");
    while ($line = fgets($f,500)) {
        $line = str_replace("\\","/",$line);
        $found=is_dir($strTest);
        if($found) {
          echo "<br>the dir $strTest was found";
        } else {
          echo "<br>the dir $strTest was not found";
       }            
    }
?>

我读的文件是这样的:

L:\tmp\Folder1
L:\tmp\Folder2
L:\tmp\Folder3
L:\tmp\Folder4

结果是 All Folders Not found 除了最后一个....但我确信所有列表都存在

4

2 回答 2

1

问题是在第一个文件夹名称中

L:\tmp\Folder1
L:\tmp\Folder2
L:\tmp\Folder3

当你使用fgets它时也需要\n。因此,在这些名称中,您有下一行符号。在最后一个L:\tmp\Folder4中没有\n,所以这就是为什么唯一找到的是最后一个。

<?php
$file = "file.txt";
$f = fopen($file, "r");
while ($line = fgets($f, 500)) {    
    $line = str_replace("\\", "/", $line);
    $line = preg_replace("/
/", "", $line);
    if (is_dir($line)) {
        echo "<br />the dir $line was found";
    } else {
        echo "<br />the dir $line was not found";
    }

} ?>

于 2013-01-15T12:13:09.583 回答
0

尝试使用此代码(替换您的参数)

$handle = opendir('/path/to/directory')

if ($handle) {
    while (false !== ($file = readdir($handle))) {
        print "$file<br />\n";
    }
    closedir($handle);
}
于 2013-01-15T11:47:59.720 回答