2017-02-21 69 views
0

如何在PHP中创建一个页面,该页面从特定目录(即文章/)加载各种信息位然后将其返回到列表中的页面。 我需要的页面,收集所有文件的$标题目录中,使标题超级链接该文件并把它们放到由$日期在最近下令列表顶部和只有前10名最近列出)与$描述也包括在内,但只有有限的字数。然后用“阅读更多”链接导致文章本身。在页面的右侧,我想要一个列出所有文件的列表,只是链接到这些页面的标题,没有别的。在PHP中创建文章列表

所有目录中的文件将类似于此:

<?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,但它没有得到我需要的部分。如果我把$标题它,它只是需要文章列表页(也应该列出文件的另一个目录标题的页面)的$标题

<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

考虑将变量放入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); 

我将离开分拣给你,但是这应该让你和运行。祝你好运!

来源: