| <?php if (!defined('BASEPATH')) exit('No direct script access allowed');
|
| /**
|
| * CodeIgniter
|
| *
|
| * An open source application development framework for PHP 4.3.2 or newer
|
| *
|
| * @package CodeIgniter
|
| * @author ExpressionEngine Dev Team
|
| * @copyright Copyright (c) 2006, EllisLab, Inc.
|
| * @license http://codeigniter.com/user_guide/license.html
|
| * @link http://codeigniter.com
|
| * @since Version 1.0
|
| * @filesource
|
| */
|
|
|
| // ------------------------------------------------------------------------
|
|
|
| /**
|
| * CodeIgniter Path Helpers
|
| *
|
| * @package CodeIgniter
|
| * @subpackage Helpers
|
| * @category Helpers
|
| * @author ExpressionEngine Dev Team
|
| * @link http://codeigniter.com/user_guide/helpers/xml_helper.html
|
| */
|
|
|
| // ------------------------------------------------------------------------
|
|
|
| /**
|
| * Set Realpath
|
| *
|
| * @access public
|
| * @param string
|
| * @param bool checks to see if the path exists
|
| * @return string
|
| */
|
| if (! function_exists('set_realpath'))
|
| {
|
| function set_realpath($path, $check_existance = TRUE)
|
| {
|
| // Security check to make sure the path is NOT a URL. No remote file inclusion!
|
| if (preg_match("#^(http:\/\/|https:\/\/|www\.|ftp|[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})#i", $path))
|
| {
|
| show_error('The path you submitted must be a local server path, not a URL');
|
| }
|
|
|
| // Resolve the path
|
| if (function_exists('realpath') AND @realpath($path) !== FALSE)
|
| {
|
| $path = realpath($path).'/';
|
| }
|
|
|
| // Add a trailing slash
|
| $path = preg_replace("#([^/])/*$#", "\\1/", $path);
|
|
|
| // Make sure the path exists
|
| if ($check_existance == TRUE)
|
| {
|
| if (! is_dir($path))
|
| {
|
| show_error('Not a valid path: '.$path);
|
| }
|
| }
|
|
|
| return $path;
|
| }
|
| }
|
|
|
| |
| /* End of file path_helper.php */ |
| /* Location: ./system/helpers/path_helper.php */ |