【发布时间】:2013-06-28 00:58:14
【问题描述】:
我有一个新闻概览页面,以及一个我想单独包含的 php 文件文件夹。 与其手动将每一个都包含在我的概览页面中,我想我会使用 php 来扫描文件夹中的 php 文件,并将它们作为包含语句打印出来。
我有以下代码:
<?php $articles = glob("/assets/news/form/*.php"); ?>
<?php
if(count($articles)) {
natcasesort($articles);
foreach($articles as $article) {
?>
<?php include("$_SERVER[DOCUMENT_ROOT]/assets/news/overview/$article"); ?>
<?php
}} else {
echo "Sorry, no articles to display!";
}
?>
我没有得到任何语法,但我没有收到任何输出。文章应该在的地方只是一个空白区域。
我想要的输出是这样的:
<?php include("$_SERVER[DOCUMENT_ROOT]/assets/news/overview/1.php"); ?>
<?php include("$_SERVER[DOCUMENT_ROOT]/assets/news/overview/2.php"); ?>
<?php include("$_SERVER[DOCUMENT_ROOT]/assets/news/overview/3.php"); ?>
<?php include("$_SERVER[DOCUMENT_ROOT]/assets/news/overview/4.php"); ?>
<?php include("$_SERVER[DOCUMENT_ROOT]/assets/news/overview/5.php"); ?>
<?php include("$_SERVER[DOCUMENT_ROOT]/assets/news/overview/6.php"); ?>
最终我想写一个 php 函数来扫描ROOT/assets/news/form/ 中的文件夹
对于所有php文件,并包含文件夹ROOT/assets/news/overview中的所有同名文件。
我的新闻概览页面目前在/news/index.php
谁能帮我解决这个问题?
【问题讨论】:
-
"我想我会使用 php 来扫描文件夹中的 php 文件,并将它们作为包含语句打印出来" - 这很好,直到你在你的目录中得到一个不需要的 PHP 文件,然后你会自动包含它。我会坚持使用手动包含,或者至少将它们限制在你知道好的那些。
-
echo file_get_contents($file); -
您是否考虑过使用数据库,如果这些“新闻”文件只是文本\html
-
这是一个临时解决方案,一个 db 付出的努力远远超过它的价值!我正在寻找一个简单的 php 解决方案...
-
glob()返回完整路径名,而不仅仅是文件名。所以$article类似于/assets/news/form/1.php,而您正在尝试包含$_SERVER[DOCUMENT_ROOT]/assets/news/overview//assets/news/form/1.php