Image_GD::check PHP Method

check() public static method

Checks if GD is enabled and bundled. Bundled GD is required for some methods to work. Exceptions will be thrown from those methods when GD is not bundled.
public static check ( ) : boolean
return boolean
    public static function check()
    {
        if (!function_exists('gd_info')) {
            throw new CException('GD is either not installed or not enabled, check your configuration');
        }
        if (defined('GD_VERSION')) {
            // Get the version via a constant, available in PHP 5.2.4+
            $version = GD_VERSION;
        } else {
            // Get the version information
            $info = gd_info();
            // Extract the version number
            preg_match('/\\d+\\.\\d+(?:\\.\\d+)?/', $info['GD Version'], $matches);
            // Get the major version
            $version = $matches[0];
        }
        if (!version_compare($version, '2.0.1', '>=')) {
            throw new CException('Image_GD requires GD version 2.0.1 or greater, you have ' . $version);
        }
        return Image_GD::$_checked = TRUE;
    }

Usage Example

Example #1
0
File: gd.php Project: homm/image
 public function __construct($file)
 {
     if (!Image_GD::$_checked) {
         // Run the install check
         Image_GD::check();
     }
     parent::__construct($file);
     // Set the image creation function name
     switch ($this->type) {
         case IMAGETYPE_JPEG:
             $create = 'imagecreatefromjpeg';
             break;
         case IMAGETYPE_GIF:
             $create = 'imagecreatefromgif';
             break;
         case IMAGETYPE_PNG:
             $create = 'imagecreatefrompng';
             break;
     }
     if (!isset($create) or !function_exists($create)) {
         throw new Kohana_Exception('Installed GD does not support :type images', array(':type' => image_type_to_extension($this->type, FALSE)));
     }
     // Save function for future use
     $this->_create_function = $create;
     // Save filename for lazy loading
     $this->_image = $this->file;
 }
All Usage Examples Of Image_GD::check