/halogy/helpers/directory_helper.php
PHP | 84 lines | 35 code | 11 blank | 38 comment | 13 complexity | b47a61f5cdeb793859aefd9e9e0a256b MD5 | raw file
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 - 2009, 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 */ 42if ( ! function_exists('directory_map')) 43{ 44 function directory_map($source_dir, $top_level_only = FALSE, $hidden = 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 (($hidden == FALSE && strncmp($file, '.', 1) == 0) OR ($file == '.' OR $file == '..')) 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, $top_level_only, $hidden); 63 64 $filedata[$file] = $temp_array; 65 } 66 else 67 { 68 $filedata[] = $file; 69 } 70 } 71 72 closedir($fp); 73 return $filedata; 74 } 75 else 76 { 77 return FALSE; 78 } 79 } 80} 81 82 83/* End of file directory_helper.php */ 84/* Location: ./system/helpers/directory_helper.php */