列出codeigniter/php目录中的文件

Sub*_*uba 3 php codeigniter

我试图按字母顺序列出目录中的所有文件.在大多数情况下,我的工作,但在列表的底部有一些奇怪的随机的混淆.

有人可以帮忙吗?

$files = directory_map('downloads/human_resources');

asort($files);

foreach($files as $file){
    if(is_string($file)){
        echo $file[1];
    }
}
Run Code Online (Sandbox Code Playgroud)

KRa*_*avi 7

您可以使用codeigniter的目录助手.加载助手使用$this->load->helper('directory');

并使用directory_map()函数读取第一个参数中指定的目录路径,并构建它的数组表示及其包含的所有文件.例:

$map = directory_map('./mydirectory/');
Run Code Online (Sandbox Code Playgroud)

注意:路径几乎总是相对于主index.php文件.

目录中包含的子文件夹也将被映射.如果要控制递归深度,可以使用第二个参数(整数)来控制递归深度.深度为1将仅映射顶级目录:

$map = directory_map('./mydirectory/', 1);
Run Code Online (Sandbox Code Playgroud)

默认情况下,隐藏文件不会包含在返回的数组中.要覆盖此行为,您可以将第三个参数设置为true(布尔值):

$map = directory_map('./mydirectory/', FALSE, TRUE);
Run Code Online (Sandbox Code Playgroud)

每个文件夹名称都是一个数组索引,而其包含的文件将以数字方式编制索引.以下是典型数组的示例:

Array
(
   [libraries] => Array
   (
       [0] => benchmark.html
       [1] => config.html
       [database] => Array
       (
             [0] => active_record.html
             [1] => binds.html
             [2] => configuration.html
             [3] => connecting.html
             [4] => examples.html
             [5] => fields.html
             [6] => index.html
             [7] => queries.html
        )
       [2] => email.html
       [3] => file_uploading.html
       [4] => image_lib.html
       [5] => input.html
       [6] => language.html
       [7] => loader.html
       [8] => pagination.html
       [9] => uri.html
)
Run Code Online (Sandbox Code Playgroud)