-4

在 Windows 中,当我们看到文件夹的详细视图和按名称排序时,我想要的正是那个序列

在 Windows 中,我按顺序获得 LEU2G0014L1A01.pdf,但通过我的代码,我在任何解决方案中首先获得 LEU2G001041B01.pdf。

<?php

$dir = "A/";
$result =   find_all_files($dir);


sort($result);
print_r($result);

function find_all_files($dir) 
{ 
$root = scandir($dir); 
  foreach($root as $value) 
  { 
      if($value === '.' || $value === '..') {continue;} 

        if(is_file("$dir/$value")) {$result[]="$value";continue;} 
          foreach(find_all_files("$dir/$value") as $value) 
          { 
             $result[]=$value; 

          } 

  } 

return $result; 
} 
?>
4

2 回答 2

1

您可能正在寻找自然排序http://php.net/manual/en/function.natsort.php

于 2013-10-17T12:19:01.407 回答
0

考虑从 php 手册站点获得的以下示例: http ://www.php.net/manual/en/function.scandir.php

<?php
$dir = "/tmp";
$dh  = opendir($dir);
while (false !== ($filename = readdir($dh))) {
    $files[] = $filename;
}

sort($files);
print_r($files);
rsort($files);
print_r($files);
?>

产生以下输出:

Array
(
    [0] => .
    [1] => ..
    [2] => bar.php
    [3] => foo.txt
    [4] => somedir
)
Array
(
    [0] => somedir
    [1] => foo.txt
    [2] => bar.php
    [3] => ..
    [4] => .
)
于 2013-10-17T12:25:25.413 回答