| <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); |
| /** |
| * CodeIgniter |
| * |
| * An open source application development framework for PHP 5.1.6 or newer |
| * |
| * NOTICE OF LICENSE |
| * |
| * Licensed under the Open Software License version 3.0 |
| * |
| * This source file is subject to the Open Software License (OSL 3.0) that is |
| * bundled with this package in the files license.txt / license.rst. It is |
| * also available through the world wide web at this URL: |
| * http://opensource.org/licenses/OSL-3.0 |
| * If you did not receive a copy of the license and are unable to obtain it |
| * through the world wide web, please send an email to |
| * licensing@ellislab.com so we can send you a copy immediately. |
| * |
| * @package CodeIgniter |
| * @author EllisLab Dev Team |
| * @copyright Copyright (c) 2008 - 2011, EllisLab, Inc. (http://ellislab.com/) |
| * @license http://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) |
| * @link http://codeigniter.com |
| * @since Version 1.0 |
| * @filesource |
| */ |
| |
| // ------------------------------------------------------------------------ |
| |
| /** |
| * CodeIgniter Directory Helpers |
| * |
| * @package CodeIgniter |
| * @subpackage Helpers |
| * @category Helpers |
| * @author EllisLab Dev Team |
| * @link http://codeigniter.com/user_guide/helpers/directory_helper.html |
| */ |
| |
| // ------------------------------------------------------------------------ |
| |
| /** |
| * Create a Directory Map |
| * |
| * Reads the specified directory and builds an array |
| * representation of it. Sub-folders contained with the |
| * directory will be mapped as well. |
| * |
| * @access public |
| * @param string path to source |
| * @param int depth of directories to traverse (0 = fully recursive, 1 = current dir, etc) |
| * @return array |
| */ |
| if ( ! function_exists('directory_map')) |
| { |
| function directory_map($source_dir, $directory_depth = 0, $hidden = FALSE) |
| { |
| if ($fp = @opendir($source_dir)) |
| { |
| $filedata = array(); |
| $new_depth = $directory_depth - 1; |
| $source_dir = rtrim($source_dir, DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR; |
| |
| while (FALSE !== ($file = readdir($fp))) |
| { |
| // Remove '.', '..', and hidden files [optional] |
| if ( ! trim($file, '.') OR ($hidden == FALSE && $file[0] == '.')) |
| { |
| continue; |
| } |
| |
| if (($directory_depth < 1 OR $new_depth > 0) && @is_dir($source_dir.$file)) |
| { |
| $filedata[$file] = directory_map($source_dir.$file.DIRECTORY_SEPARATOR, $new_depth, $hidden); |
| } |
| else |
| { |
| $filedata[] = $file; |
| } |
| } |
| |
| closedir($fp); |
| return $filedata; |
| } |
| |
| return FALSE; |
| } |
| } |
| |
| |
| /* End of file directory_helper.php */ |
| /* Location: ./system/helpers/directory_helper.php */ |