1 | <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); |
---|
2 | /** |
---|
3 | * CodeIgniter |
---|
4 | * |
---|
5 | * An open source application development framework for PHP 5.1.6 or newer |
---|
6 | * |
---|
7 | * @package CodeIgniter |
---|
8 | * @author ExpressionEngine Dev Team |
---|
9 | * @copyright Copyright (c) 2008 - 2011, 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 int depth of directories to traverse (0 = fully recursive, 1 = current dir, etc) |
---|
40 | * @return array |
---|
41 | */ |
---|
42 | if ( ! function_exists('directory_map')) |
---|
43 | { |
---|
44 | function directory_map($source_dir, $directory_depth = 0, $hidden = FALSE) |
---|
45 | { |
---|
46 | if ($fp = @opendir($source_dir)) |
---|
47 | { |
---|
48 | $filedata = array(); |
---|
49 | $new_depth = $directory_depth - 1; |
---|
50 | $source_dir = rtrim($source_dir, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR; |
---|
51 | |
---|
52 | while (FALSE !== ($file = readdir($fp))) |
---|
53 | { |
---|
54 | // Remove '.', '..', and hidden files [optional] |
---|
55 | if ( ! trim($file, '.') OR ($hidden == FALSE && $file[0] == '.')) |
---|
56 | { |
---|
57 | continue; |
---|
58 | } |
---|
59 | |
---|
60 | if (($directory_depth < 1 OR $new_depth > 0) && @is_dir($source_dir.$file)) |
---|
61 | { |
---|
62 | $filedata[$file] = directory_map($source_dir.$file.DIRECTORY_SEPARATOR, $new_depth, $hidden); |
---|
63 | } |
---|
64 | else |
---|
65 | { |
---|
66 | $filedata[] = $file; |
---|
67 | } |
---|
68 | } |
---|
69 | |
---|
70 | closedir($fp); |
---|
71 | return $filedata; |
---|
72 | } |
---|
73 | |
---|
74 | return FALSE; |
---|
75 | } |
---|
76 | } |
---|
77 | |
---|
78 | |
---|
79 | /* End of file directory_helper.php */ |
---|
80 | /* Location: ./system/helpers/directory_helper.php */ |
---|