如何在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的新手,并且不太了解语法。
答案 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);
我会把排序留给你,但是这应该让你起步并运行。祝你好运!
来源: