0

我在我的网站上得到了这个代码

<div id="tips-wrap">
    <?php
    include('news/games/02GA.html');
    ?>
</div>
<div id="tips-wrap">
    <?php
    include('news/games/03GA.html');
    ?>
</div>

它工作得很好,但我想改变它,所以它可以按字母顺序按名称加载文件,最后一个在前,但我需要它来循环播放新新闻

像这样的东西:

<div id="tips-wrap">
    <?php
    include('news/003.html');
    ?>
</div>
<div id="tips-wrap">
    <?php
    include('news/002.html');
    ?>
</div>

因此,当我们使用 050.html 更新站点时,代码会将其加载到页面的第一个插槽中。我不知道这是否可能,我是 php 新手

4

3 回答 3

1

将它们放在一个数组中,排序并包含:

$includes = array("news/003.html", "news/002.html");
rsort($includes);

foreach ($include in $includes) {
    echo '<div class="tips-wrap">';
    include $include;
    echo '</div>';
}

正如@Marcel 提到的,我还冒昧地使用类而不是 ID。

于 2013-09-19T06:49:32.340 回答
0

此解决方案读取存储文件的目录并使用数组+排序来生成您的 html。

$dh = opendir([pathtonewsfolder]);

$includes = array();

while (($file = readdir($dh)) !== false) {
    if($file != '.' && $file != '..') {
        $includes[] = $file;
    }
}
closedir($dh);

rsort($includes);

foreach ($includes as $include) {
    echo '<div class="tips-wrap">';
    include [pathtonewsfolder].'/'.$include;
    echo '</div>';
}
于 2013-09-19T07:27:30.103 回答
0

试试这个,我想它会解决你的问题

<?php
   $dir = '/news/games/';
   $d = dir($dir);
   $arr = array();
   while (false !== ($entry = $d->read())) {
       if ( ($entry != '.') && ($entry != '..') && (strstr($entry,'.html') !== FALSE) ) { 
              $arr[] = $entry;
       }
  }
  $d->close();

  arsort($arr);

  foreach($arr as $nam => $val) { ?>
   <div id="tips-wrap">
     <?php include('news/games/'. $val); ?>
   </div>   
 <?php
 }
 ?>
于 2013-09-19T07:31:08.533 回答