summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--system/helpers/file_helper.php27
-rw-r--r--user_guide/changelog.html1
2 files changed, 14 insertions, 14 deletions
diff --git a/system/helpers/file_helper.php b/system/helpers/file_helper.php
index b0c554658..9602ec8c2 100644
--- a/system/helpers/file_helper.php
+++ b/system/helpers/file_helper.php
@@ -22,7 +22,7 @@
* @subpackage Helpers
* @category Helpers
* @author ExpressionEngine Dev Team
- * @link http://codeigniter.com/user_guide/helpers/file_helper.html
+ * @link http://codeigniter.com/user_guide/helpers/file_helpers.html
*/
// ------------------------------------------------------------------------
@@ -121,8 +121,8 @@ if ( ! function_exists('delete_files'))
function delete_files($path, $del_dir = FALSE, $level = 0)
{
// Trim the trailing slash
- $path = preg_replace("|^(.+?)/*$|", "\\1", $path);
-
+ $path = rtrim($path, DIRECTORY_SEPARATOR);
+
if ( ! $current_dir = @opendir($path))
return;
@@ -130,17 +130,17 @@ if ( ! function_exists('delete_files'))
{
if ($filename != "." and $filename != "..")
{
- if (is_dir($path.'/'.$filename))
+ if (is_dir($path.DIRECTORY_SEPARATOR.$filename))
{
// Ignore empty folders
if (substr($filename, 0, 1) != '.')
{
- delete_files($path.'/'.$filename, $del_dir, $level + 1);
- }
+ delete_files($path.DIRECTORY_SEPARATOR.$filename, $del_dir, $level + 1);
+ }
}
else
{
- unlink($path.'/'.$filename);
+ unlink($path.DIRECTORY_SEPARATOR.$filename);
}
}
}
@@ -190,7 +190,6 @@ if ( ! function_exists('get_filenames'))
}
elseif (strncmp($file, '.', 1) !== 0)
{
-
$_filedata[] = ($include_path == TRUE) ? $source_dir.$file : $file;
}
}
@@ -225,7 +224,7 @@ if ( ! function_exists('get_dir_file_info'))
{
static $_filedata = array();
$relative_path = $source_dir;
-
+
if ($fp = @opendir($source_dir))
{
// reset the array and make sure $source_dir has a trailing slash on the initial call
@@ -267,8 +266,8 @@ if ( ! function_exists('get_dir_file_info'))
* Returns FALSE if the file cannot be found.
*
* @access public
-* @param string path to file
-* @param mixed array or comma separated string of information returned
+* @param string path to file
+* @param mixed array or comma separated string of information returned
* @return array
*/
if ( ! function_exists('get_file_info'))
@@ -291,7 +290,7 @@ if ( ! function_exists('get_file_info'))
switch ($key)
{
case 'name':
- $fileinfo['name'] = substr(strrchr($file, '/'), 1);
+ $fileinfo['name'] = substr(strrchr($file, DIRECTORY_SEPARATOR), 1);
break;
case 'server_path':
$fileinfo['server_path'] = $file;
@@ -342,9 +341,9 @@ if ( ! function_exists('get_mime_by_extension'))
function get_mime_by_extension($file)
{
$extension = substr(strrchr($file, '.'), 1);
-
+
global $mimes;
-
+
if ( ! is_array($mimes))
{
if ( ! require_once(APPPATH.'config/mimes.php'))
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 9bc64d2ad..8b4bf293e 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -93,6 +93,7 @@ SVN Revision: </p>
<li>Fixed a bug with ORIG_PATH_INFO that was allowing URIs of just a slash through.</li>
<li>Fixed a fatal error in the Oracle and ODBC drivers (#6752)</li>
<li>Fixed a bug where Database Forge's add_column and modify_column were not looping through when sent multiple fields.</li>
+ <li>Fixed a bug where the File Helper was using '/' instead of the DIRECTORY_SEPARATOR constant.</li>
</ul>
<h2>Version 1.7.1</h2>