3

我有一个问题,从文件夹中读取文件(在本例中称为“上传”):

这是脚本:

<div id="content">

        <?php
             echo "<h2> These is the list of the files: </h2>";

             $dir = dir("upload");

             while (($file = $dir->read()) !== false) {

                echo "<p>File name: " . $file . "</p>";
              }


              $dir->close();
          ?>
</div>

结果如下:

These is the list of the files:

File name: .

File name: ..

File name: prova.txt

File name: prova2.txt

File name: prova3.txt

File name: prova4.txt

它有效,因为正在从文件夹中读取内容。但是我怎样才能避免显示前两行呢?那两条线是什么?为什么会显示它们?

4

3 回答 3

3

尝试这个:

while (($file = $dir->read()) !== false) 
{
    if($file != '.' && $file != '..')
    {
        echo "<p>File name: " . $file . "</p>";
    }
}
于 2013-06-21T08:37:12.983 回答
2

添加条件:

if($file === "." || $file === "..") continue;

于 2013-06-21T08:37:42.860 回答
0

尝试这个:

<?php

$path = '/your/path';
$results = scandir($path);
foreach ($results as $result) {
    if ($result === '.' or $result === '..') continue;

    if (is_dir($path . '/' . $result)) {
        echo $result;
    }elseif (is_file($path . '/' . $result)) {
        echo  $result ;
    }
}

?>

如果您要将一种样式应用于文件并将另一种样式应用于文件夹,您将使用此方法

于 2013-06-21T08:39:53.100 回答