Php 使用opendir/readdir函数后重复文本

Php 使用opendir/readdir函数后重复文本,php,Php,为什么会发生这样的事对我来说是个谜。下面是代码: $dir = 'test/'; $de = opendir($dir); if ($de) { while (($file = readdir($de)) !== false) { $path = $dir . $file; $file_title = 'this text gets repeated three times, each followed by a dot' . $file;

为什么会发生这样的事对我来说是个谜。下面是代码:

$dir = 'test/';
$de = opendir($dir);
if ($de) {
    while (($file = readdir($de)) !== false) {
        $path = $dir . $file;
        $file_title = 'this text gets repeated three times, each followed by a dot' . $file;
        echo $file;
    }
} else {
    echo "invalid directory";
}
因此,如果$file=video.mp4和$file_title='file name'.$file;它看起来是这样的:

“file name.file name.file name video.mp4”,如果变量前面没有字符串,即$file_title=$title,则变量前面会有三个点,如下所示:…video.mp4


如果有人知道发生了什么,请告诉我。谢谢

由于代码中包含循环,因此会出现重复文本。这就是
while
所做的:它反复运行代码。

由于代码包含一个循环,所以会得到重复的文本。这就是
while
所做的:它重复运行代码。

您列出的是
目录。
目录,用于检查,使条目实际上是一个文件而不是一个目录:

if (is_file($dir . $file)) {
   // entry is a file
}

在这里,您可以阅读有关
目录的更多信息:

您正在列出
目录。
目录,用于检查,使条目实际上是一个文件而不是目录:

if (is_file($dir . $file)) {
   // entry is a file
}

在这里,您可以阅读更多关于
dot
目录的信息:

请将您的代码和问题设置为可读的格式。glob()然后使用它的数组将使您更容易阅读。提供最低可读性。请将您的代码和问题设置为可读的格式。glob()然后使用它的数组,这对你来说会更容易。提供最小的可读性。