0

私はPHPが初めてで、誰かが助けてくれるかどうか疑問に思っていました. コードでディレクトリ/サブディレクトリからファイルを読み取り、変更された日付までにすべてのファイルを表示したい! 私のコードには、最近変更したファイルが 1 つだけ表示されます。では、すべてのファイルを一覧表示するにはどうすればよいでしょうか。私はこの質問が何らかの意味を持っていることを願っています..

<?php

   $last_mtimes = array(); 
   function ListFiles($dir) {

      if($dh = opendir($dir)) {

         $files = Array();
         $inner_files = Array();

         while($file = readdir($dh)) {
            if($file != "." && $file != ".." && $file[0] != '.') {
               if(is_dir($dir . "/" . $file)) {
                  $inner_files = ListFiles($dir . "/" . $file);
                  if(is_array($inner_files)) $files = array_merge($files, $inner_files); 
               } else {
                  array_push($files, $dir . "/" . $file);
                  $lmtime = filemtime($dir . "/" . $file) ;
                  $last_mtimes[$lmtime] = $dir . "/" . $file;
               }
            }
         }

        krsort($last_mtimes);

        closedir($dh);
        return ($last_mtimes);

     }
   }

   foreach (ListFiles('folder/folder/') as $key=>$file);

   echo array_shift(ListFiles('folder/folder/'));
?>
4

1 に答える 1

0

ループが何もしないようにする追加のセミコロンがあります。

 foreach (ListFiles('folder/folder/') as $key=>$file);
                                                     ^ remove this
于 2013-03-01T15:27:52.477 に答える