diff options
author | Derek Jones <derek.jones@ellislab.com> | 2008-12-09 16:25:31 +0100 |
---|---|---|
committer | Derek Jones <derek.jones@ellislab.com> | 2008-12-09 16:25:31 +0100 |
commit | 541ddbd6f3c0231f0e7fc0a18d9d54670a808958 (patch) | |
tree | 36dffaea51566829906e4cb322c1991742117a1c /system | |
parent | 4b6d493593b7400b7fa81d976fd3dc07ad30fe86 (diff) |
added some better error checking for saving files with GD
Diffstat (limited to 'system')
-rw-r--r-- | system/language/english/imglib_lang.php | 1 | ||||
-rw-r--r-- | system/libraries/Image_lib.php | 18 |
2 files changed, 16 insertions, 3 deletions
diff --git a/system/language/english/imglib_lang.php b/system/language/english/imglib_lang.php index a587c0b9e..66505da07 100644 --- a/system/language/english/imglib_lang.php +++ b/system/language/english/imglib_lang.php @@ -17,6 +17,7 @@ $lang['imglib_writing_failed_gif'] = "GIF image."; $lang['imglib_invalid_path'] = "The path to the image is not correct."; $lang['imglib_copy_failed'] = "The image copy routine failed."; $lang['imglib_missing_font'] = "Unable to find a font to use."; +$lang['imglib_save_failed'] = "Unable to save the image. Please make sure the image and file directory are writable."; /* End of file imglib_lang.php */ diff --git a/system/libraries/Image_lib.php b/system/libraries/Image_lib.php index 1b2d33de8..0e7f21435 100644 --- a/system/libraries/Image_lib.php +++ b/system/libraries/Image_lib.php @@ -1195,7 +1195,11 @@ class CI_Image_lib { return FALSE; } - @imagegif($resource, $this->full_dst_path); + if ( ! @imagegif($resource, $this->full_dst_path)) + { + $this->set_error('imglib_save_failed'); + return FALSE; + } break; case 2 : if ( ! function_exists('imagejpeg')) @@ -1209,7 +1213,11 @@ class CI_Image_lib { @touch($this->full_dst_path); // PHP 4.4.1 bug #35060 - workaround } - @imagejpeg($resource, $this->full_dst_path, $this->quality); + if ( ! @imagejpeg($resource, $this->full_dst_path, $this->quality)) + { + $this->set_error('imglib_save_failed'); + return FALSE; + } break; case 3 : if ( ! function_exists('imagepng')) @@ -1218,7 +1226,11 @@ class CI_Image_lib { return FALSE; } - @imagepng($resource, $this->full_dst_path); + if ( ! @imagepng($resource, $this->full_dst_path)) + { + $this->set_error('imglib_save_failed'); + return FALSE; + } break; default : $this->set_error(array('imglib_unsupported_imagecreate')); |