在 PHP 中 dir->read() 的输出有问题


issue with the output of dir->read() in php

在 ajax 文件夹中,有文件:json.php, load.php, script.php

主.php

<?php
$dir = dir("ajax");
while (($file = $dir->read()) !== false)
{
echo "filename: " . $file . "<br />";
}
$dir->close(); 

它显示:

filename: .
filename: ..
filename: json.php
filename: load.php
filename: script.php

问题:结果,前两项是什么意思? . ..

这些是current (.)parent (..)目录。

您可以通过以下方式摆脱它们:

$result = array_diff($result, array('..', '.'));

...分别相当于当前目录和父目录的"目录"。

例如,如果您位于 AJAX 文件夹中,也可以使用 ./json.php 访问json.php

另一方面,../json.php将在父文件夹(与ajax文件夹相同的目录(中查找文件。

.是当前文件夹。 ..是父文件夹。窗口和 Linux 上的任何文件夹都有两个这个。

如果你想读取某种类型的文件,你可以使用php glob函数。

$files = glob($dirpath.'/*.php');

Single dot: . 这表示当前目录。

Double dot: .. 这表示父目录。