0

我有一个新闻概览页面,以及一个我想单独包含的 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

谁能帮我解决这个问题?

4

2 回答 2

1

在这里,试一试:(已测试)

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.";

}

?>
于 2013-06-28T01:46:42.623 回答
1

改变:

foreach($articles as $article) {

至:

foreach($articles as $article) {
    $article = basename($article);

去除 . 的结果中的目录前缀glob()

于 2013-06-28T01:12:26.510 回答