From c8175be96157bb97374b1d9bb1be91c7b97bd640 Mon Sep 17 00:00:00 2001 From: tschechniker Date: Wed, 4 Apr 2012 14:47:30 +0300 Subject: Added Windows path compatibility to function read_dir --- system/libraries/Zip.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'system/libraries/Zip.php') diff --git a/system/libraries/Zip.php b/system/libraries/Zip.php index e91e2a2ff..2ec7befd3 100644 --- a/system/libraries/Zip.php +++ b/system/libraries/Zip.php @@ -279,7 +279,7 @@ class CI_Zip { */ public function read_dir($path, $preserve_filepath = TRUE, $root_path = NULL) { - $path = rtrim($path, '/\\').'/'; + $path = rtrim($path, '/\\').DIRECTORY_SEPARATOR; if ( ! $fp = @opendir($path)) { return FALSE; @@ -288,7 +288,7 @@ class CI_Zip { // Set the original directory root for child dir's to use as relative if ($root_path === NULL) { - $root_path = dirname($path).'/'; + $root_path = dirname($path).DIRECTORY_SEPARATOR; } while (FALSE !== ($file = readdir($fp))) @@ -300,11 +300,12 @@ class CI_Zip { if (@is_dir($path.$file)) { - $this->read_dir($path.$file.'/', $preserve_filepath, $root_path); + $this->read_dir($path.$file.DIRECTORY_SEPARATOR, $preserve_filepath, $root_path); } elseif (FALSE !== ($data = file_get_contents($path.$file))) { - $name = str_replace('\\', '/', $path); + $name = str_replace("\\", DIRECTORY_SEPARATOR, $path); + $name = str_replace("/", DIRECTORY_SEPARATOR, $path); if ($preserve_filepath === FALSE) { $name = str_replace($root_path, '', $name); -- cgit v1.2.3-24-g4f1b From 9664cc9fbb9b7f10776e9ad76ba7b27de5c2cda4 Mon Sep 17 00:00:00 2001 From: Tobias Tschech Date: Wed, 4 Apr 2012 15:22:33 +0300 Subject: Update system/libraries/Zip.php --- system/libraries/Zip.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'system/libraries/Zip.php') diff --git a/system/libraries/Zip.php b/system/libraries/Zip.php index 2ec7befd3..80438546b 100644 --- a/system/libraries/Zip.php +++ b/system/libraries/Zip.php @@ -304,8 +304,7 @@ class CI_Zip { } elseif (FALSE !== ($data = file_get_contents($path.$file))) { - $name = str_replace("\\", DIRECTORY_SEPARATOR, $path); - $name = str_replace("/", DIRECTORY_SEPARATOR, $path); + $name = str_replace(array('\\', '/'), DIRECTORY_SEPARATOR, $path); if ($preserve_filepath === FALSE) { $name = str_replace($root_path, '', $name); -- cgit v1.2.3-24-g4f1b