summaryrefslogtreecommitdiffstats
path: root/user_guide_src/source/helpers/directory_helper.rst
blob: 030e0ef530ea060371f991d8635f41445652e5ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
################
Directory Helper
################

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

.. contents::
  :local:

.. raw:: html

  <div class="custom-index container"></div>

Loading this Helper
===================

This helper is loaded using the following code:

::

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

Available Functions
===================

The following functions are available:


.. function:: directory_map($source_dir[, $directory_depth = 0[, $hidden = FALSE]])

	:param	string	$source_dir: Path to the source directory
	:param	int	$directory_depth: Depth of directories to traverse (0 = fully recursive, 1 = current dir, etc)
	:param	bool	$hidden: Whether to include hidden directories
	:returns:	An array of files
	:rtype:	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
				)