用PHP制作文章列表

时间:2017-02-21 23:01:14

标签: php list hyperlink file-get-contents page-title

如何在PHP中创建一个页面,从特定目录(即articles /)加载各种信息,然后将其返回到列表中的页面。 我需要页面来收集目录中所有文件的 $ title ,将标题设置为该文件的超链接,并将它们放入由排序的列表中使用 $ description < $ date 最近在顶部,只有前10名最近列出的内容) / em>也包括在内,但只有有限的单词。然后以“阅读更多”链接结束,该链接指向文章本身。在页面的右侧,我想要一个列出所有文件的列表,但只列出链接到这些页面的标题,没有别的。

目录中的所有文件都与此类似:

<?php
$title = "How to...";
$description = "Description";
$keywords = "yes, no, maybe, so";
$date = "2017-02-10";
$content = "<i>This is my content.</i>";
include 'layout/article_template.php';
?>

这是我到目前为止的PHP,但它没有得到我需要的部分。如果我在其中加上 $ title ,它只需要文章列表页面的 $ title (应该列出标题的页面)另一个目录中的文件。)

<div id="content">
<?php
$dir_open = opendir('articles/');

while(false !== ($filename = readdir($dir_open))){
    $dirArray[]=$filename;

    if($filename != "." && $filename != ".."){
        $link = "<a href='./$filename'> $filename </a><br />";
        echo $link;
    }
}

closedir($dir_open);

$indexCount=count($dirArray);

sort($dirArray);
?>
</div>

我是PHP的新手,并且不太了解语法。

1 个答案:

答案 0 :(得分:0)

考虑将变量置于JSON格式。通过这种方式,您可以轻松地使用PHP解析它,而无需eval(危险)代码。

以下示例:

JSON:

{
    "title": "How to...",
    "description": "Description",
    "keywords": "yes, no, maybe, so",
    "date": "2017-02-10",
    "content": "<i>This is my content.</i>"
}

PHP:

<?php
$articles = [];
foreach (glob('articles/*') as $article) {
    $content = file_get_contents($article);
    $articles[] = json_decode($content);
}
print_r($articles);

我会把排序留给你,但是这应该让你起步并运行。祝你好运!

来源: