Subversion Repositories Applications.papyrus

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2005 Aurelien 1
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
/**
3
 * CodeIgniter
4
 *
5
 * An open source application development framework for PHP 4.3.2 or newer
6
 *
7
 * @package		CodeIgniter
8
 * @author		ExpressionEngine Dev Team
9
 * @copyright	Copyright (c) 2008, EllisLab, Inc.
10
 * @license		http://codeigniter.com/user_guide/license.html
11
 * @link		http://codeigniter.com
12
 * @since		Version 1.0
13
 * @filesource
14
 */
15
16
// ------------------------------------------------------------------------
17
18
/**
19
 * CodeIgniter Directory Helpers
20
 *
21
 * @package		CodeIgniter
22
 * @subpackage	Helpers
23
 * @category	Helpers
24
 * @author		ExpressionEngine Dev Team
25
 * @link		http://codeigniter.com/user_guide/helpers/directory_helper.html
26
 */
27
28
// ------------------------------------------------------------------------
29
30
/**
31
 * Create a Directory Map
32
 *
33
 * Reads the specified directory and builds an array
34
 * representation of it.  Sub-folders contained with the
35
 * directory will be mapped as well.
36
 *
37
 * @access	public
38
 * @param	string	path to source
39
 * @param	bool	whether to limit the result to the top level only
40
 * @return	array
41
 */
42
if ( ! function_exists('directory_map'))
43
{
44
	function directory_map($source_dir, $top_level_only = FALSE)
45
	{
46
		if ($fp = @opendir($source_dir))
47
		{
48
			$source_dir = rtrim($source_dir, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR;
49
			$filedata = array();
50
51
			while (FALSE !== ($file = readdir($fp)))
52
			{
53
				if (strncmp($file, '.', 1) == 0)
54
				{
55
					continue;
56
				}
57
58
				if ($top_level_only == FALSE && @is_dir($source_dir.$file))
59
				{
60
					$temp_array = array();
61
62
					$temp_array = directory_map($source_dir.$file.DIRECTORY_SEPARATOR);
63
64
					$filedata[$file] = $temp_array;
65
				}
66
				else
67
				{
68
					$filedata[] = $file;
69
				}
70
			}
71
72
			closedir($fp);
73
			return $filedata;
74
		}
75
	}
76
}
77
78
79
/* End of file directory_helper.php */
80
/* Location: ./system/helpers/directory_helper.php */