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

結果は、最後のフォルダを除いてすべてのフォルダが見つかりません....しかし、すべてのリストが存在することは確かです

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 に答える