0

为什么会发生这种情况对我来说是个谜。所以这里是代码:

$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; 它看起来像这样:

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

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

4

2 回答 2

2

你会得到重复的文本,因为你的代码包含一个循环。就是这样while做的:它重复运行代码。

于 2012-12-16T19:00:21.550 回答
2

您正在列出...目录,用于is_file()检查条目是否真的是文件而不是目录:

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

在这里您可以阅读有关dot目录的更多信息:点中有很多内容

于 2012-12-16T19:02:41.063 回答