Directory Helper

The Directory Helper file contains functions that assist in working with directories.

Loading this Helper

This helper is loaded using the following code:

$this->load->helper('directory');

Available Functions

The following functions are available:

directory_map($source_dir[, $directory_depth = 0[, $hidden = FALSE]])
Parameters:
  • $source_dir (string) – Path to the source directory
  • $directory_depth (int) – Depth of directories to traverse (0 = fully recursive, 1 = current dir, etc)
  • $hidden (bool) – Whether to include hidden directories
Returns:

An array of files

Return type:

array

Examples:

$map = directory_map('./mydirectory/');

Note

Paths are almost always relative to your main index.php file.

Sub-folders contained within the directory will be mapped as well. If you wish to control the recursion depth, you can do so using the second parameter (integer). A depth of 1 will only map the top level directory:

$map = directory_map('./mydirectory/', 1);

By default, hidden files will not be included in the returned array. To override this behavior, you may set a third parameter to true (boolean):

$map = directory_map('./mydirectory/', FALSE, TRUE);

Each folder name will be an array index, while its contained files will be numerically indexed. Here is an example of a typical array:

Array (
        [libraries] => Array
                (
                        [0] => benchmark.html
                        [1] => config.html
                        ["database/"] => Array
                                (
                                        [0] => query_builder.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
                )