尝试回显多个文本文件的内容,同时按文件名 - PHP 对输出进行排序


Trying to echo contents of multiple text files while sorting the output by the file name - PHP

>我不是开发人员,但我现在是工作的默认开发人员。 在过去的几周里,我在这里和其他网站上找到了很多答案,但这个最新的问题让我感到困惑,难以置信。我知道这是一个简单的答案,但我没有问谷歌正确的问题。

第一。。。我必须使用文本文件,因为我无法访问数据库(在我工作的地方,事情被锁定得很紧(。

无论如何,我需要查看存储在那里的文本文件的目录,打开每个文件并显示少量文本,同时确保我显示的文本按文件名排序。

我很接近,我知道...我终于设法弄清楚了排序,我知道如何读取目录并显示文件的内容,但是我将这两个概念合并在一起的时间很长。

任何人都可以提供一点帮助吗?使用现在的脚本,我毫无问题地回显排序的文件名。我认为会读取文件内容然后显示它的代码行仅回显换行符,而不是文件的内容。这是我到目前为止的代码 - 它只是测试代码,所以我可以让功能正常工作。

<?php
$dirFiles = array();
if ($handle = opendir('./event-titles')) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != "..") {
            $dirFiles[] = $file;
        }
    }
    closedir($handle);
}
sort($dirFiles);
foreach($dirFiles as $file)
{
    $fileContents = file_get_contents($file);//////// This is what's not working
    echo $file."<br>".$fileContents."<br/><br/>";
}
?>

帮助? : )

戴夫

$files = scandir('./event-titles')将按文件名排序顺序返回一个文件名数组。然后你可以做

foreach($files as $file)
{
    $fileContents = file_get_contents('./event-titles/'.$file);
    echo $file."<br/>".$fileContents."<br/><br/>";
}

请注意,我在file_get_contents调用中使用目录名称,因为文件名本身会导致file_get_contents查找当前目录,而不是您在scandir中指定的目录。