0

我目前有以下代码用于不刺激的上传器。它还显示包含文件夹的内容,但是echo "$indexCount files<br/>";返回文件数 + 2,但我看不到变量如何到达这个数字。

此外,我希望表格不显示页面本身(index.php)和error_log。我按照这个逻辑尝试了一些事情:if the name of the file is x or y then go to next file但我无法让它发挥作用。

谢谢。

<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
Please choose a file: <input name="file" type="file" /><br />
<input type="submit" value="Upload" /></form>


<?php 

if (!empty($_FILES["file"]))
{
    if ($_FILES["file"]["error"] > 0)
       {echo "Error: " . $_FILES["file"]["error"] . "<br>";}
    else
       {echo "Stored file:".$_FILES["file"]["name"]."<br/>Size:".($_FILES["file"]["size"]/1024)." kB<br/>";
       move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);
       }
}

    // open this directory 
    $myDirectory = opendir(".");
    // get each entry
    while($entryName = readdir($myDirectory)) {$dirArray[] = $entryName;} closedir($myDirectory);
    $indexCount = count($dirArray);
        echo "$indexCount files<br/>";
    sort($dirArray);

    echo "<TABLE border=1 cellpadding=5 cellspacing=0 class=whitelinks><TR><TH>Filename</TH><th>URL</th><th>Wiki Syntax</th></TR>\n";

        for($index=0; $index < $indexCount; $index++) 
        {
            if (substr("$dirArray[$index]", 0, 1) != ".")
            {
            echo "<TR>
            <td><a href=\"$dirArray[$index]\">$dirArray[$index]</a></td>
            <td>http://www.example.com/$dirArray[$index]</td>
            <td><input type='text' value='[[http://www.example.com/$dirArray[$index]|$dirArray[$index]]' /></td>
                </TR>";
            }
        }
    echo "</TABLE>";
    ?>
4

2 回答 2

1

它们是...目录。您看不到它们,因为它们会substr("$dirArray[$index]", 0, 1) != "."返回false

while循环中,您可以过滤它们,或者您可以取消设置$dirArray.

于 2013-06-24T07:22:28.537 回答
1

它返回的原因number of files + 2可能是readdir调用计数.以及..目录条目,它们同时引用当前目录和父目录。

于 2013-06-24T07:23:26.517 回答