1

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

首先...我必须使用文本文件,因为我无权访问数据库(我工作的地方被锁定得很紧)。

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

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

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

<?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/>";
}
?>

帮助?:)

戴夫

4

1 回答 1

1

$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 中指定的目录。

于 2012-04-27T21:58:13.380 回答