如何反转命令DirectoryIterator

时间:2015-06-02 03:19:58

标签: php

这是我使用此代码进行目录索引,现在这个代码出现问题,我想按相反顺序排序,示例显示1.目录一,2。目录2,3。目录3。但我想以相反的顺序 - 这是我的代码

<?php $path='files'; foreach (new DirectoryIterator($path) as $file) {
if ($file->isDot()) continue;

if ($file->isDir()) {
    $filname=$file->getFilename();
    $filname=str_replace(' ','-',$filname);
    echo '<div class="catRow"><a href="http://'.$sitenameurl.'/category/'.$filname.'.html"><div>&#187; '.$file->getFilename().'</div></a></div>';
}} ?>

1 个答案:

答案 0 :(得分:0)

据我所知,通过设置特定选项或设置无法做到这一点。 但是,由于您只想反转顺序,您可以将数据存储在数组中,然后简单地反转数组。

<?php
$filesArr = array();
$path='files';
$Iterator = new DirectoryIterator($path);

foreach ($Iterator as $file) {
 if ($file->isDot()) continue;

 if ($file->isDir()) {
      $filname=$file->getFilename();
      $filname=str_replace(' ','-',$filname);
      $filesArr[] = '<div class="catRow"><a href="http://'.$sitenameurl.'/category/'.$filname.'.html"><div>&#187; '.$file->getFilename().'</div></a></div>';
 }
}

$revFilesArr = array_reverse($filesArr);
foreach($revFilesArr as $fileRow){
  echo $fileRow;
}
?>