80 行
		
	
	
	
		
			2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			80 行
		
	
	
	
		
			2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * CodeIgniter
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * An open source application development framework for PHP 5.1.6 or newer
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @package		CodeIgniter
							 | 
						||
| 
								 | 
							
								 * @author		ExpressionEngine Dev Team
							 | 
						||
| 
								 | 
							
								 * @copyright	Copyright (c) 2008 - 2011, EllisLab, Inc.
							 | 
						||
| 
								 | 
							
								 * @license		http://codeigniter.com/user_guide/license.html
							 | 
						||
| 
								 | 
							
								 * @link		http://codeigniter.com
							 | 
						||
| 
								 | 
							
								 * @since		Version 1.0
							 | 
						||
| 
								 | 
							
								 * @filesource
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// ------------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * CodeIgniter Directory Helpers
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @package		CodeIgniter
							 | 
						||
| 
								 | 
							
								 * @subpackage	Helpers
							 | 
						||
| 
								 | 
							
								 * @category	Helpers
							 | 
						||
| 
								 | 
							
								 * @author		ExpressionEngine 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 */
							 |