我有一个新闻概述页面,以及我想单独包含的php文件的文件夹。 我没想手动将每一个都包含在我的概述页面中,而是想用php扫描文件夹中的php文件,并将其作为include语句打印出来。
我有以下代码:
<?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"); ?>
最终我想编写一个扫描ROOT/assets/news/form/
文件夹的php函数
对于所有php文件,并包含文件夹ROOT/assets/news/overview
中具有相同名称的所有文件。
我的新闻概述页面目前位于/news/index.php
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
变化:
foreach($articles as $article) {
为:
foreach($articles as $article) {
$article = basename($article);
删除结果glob()
中的目录前缀。
答案 1 :(得分:1)
在这里,给它一个旋转:(TESTED)
使用absolute
路径在我的服务器上测试。
<?php
// path to .php files must be absolute path
// example: /server/user/f/fred/forms/*.php
// May have to modify your path if it's not absolute
// You may have to use this, if doesn't work
// $articles = glob("$_SERVER[DOCUMENT_ROOT]/assets/news/forms/*.php");
$articles = glob("/assets/news/forms/*.php");
if(count($articles)) {
natcasesort($articles);
// rsort($articles); // use rsort for descending order
foreach($articles as $article) {
$article = basename($article);
// You may have to use this, if doesn't work
// include("$_SERVER[DOCUMENT_ROOT]/assets/news/forms/$article");
include("$_SERVER[DOCUMENT_ROOT]/assets/news/forms/$article");
}
}
else {
echo "Sorry, no articles.";
}
?>