Classes

File io/image/Image.class.php

File io/image/Image.class.php

 1:  2:  3:  4:  5:  6:  7:  8:  9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 
<?php
/**
 * This class allows you to obtain informations on an image.
 * @package     IO
 * @subpackage  Image
 * @copyright   &copy; 2005-2019 PHPBoost
 * @license     https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL-3.0
 * @author      Kevin MASSY <reidlos@phpboost.com>
 * @version     PHPBoost 5.2 - last update: 2016 10 28
 * @since       PHPBoost 3.0 - 2010 07 11
 * @contributor Julien BRISWALTER <j1.seth@phpboost.com>
 * @contributor Arnaud GENET <elenwii@phpboost.com>
*/

class Image extends FileSystemElement
{
    private $properties;

    public function __construct($path)
    {
        $this->path = $path;
        $this->properties = $this->get_properties();
    }

    /**
     * Return Array value properties of the image
     * @return Array properties
     */
    private function get_properties()
    {
        return @getimagesize($this->path);
    }

    public function get_path()
    {
        return $this->path;
    }

    public function get_width()
    {
        return is_array($this->properties) ? $this->properties[0] : 0;
    }

    public function get_height()
    {
        return is_array($this->properties) ? $this->properties[1] : 0;
    }

    public function get_mime_type()
    {
        return is_array($this->properties) ? $this->properties['mime'] : null;
    }

    /**
     * Return Size image
     * @return Size image in bytes
     */
    public function get_size()
    {
        return filesize($this->path);
    }

    public function get_name_and_extension()
    {
        $explode = explode('/', $this->path);
        return array_pop($explode);
    }

    public function get_extension()
    {
        $filename = $this->get_name_and_extension();
        return TextHelper::strtolower(TextHelper::substr(TextHelper::strrchr($filename, '.'), 1));
    }

    public function get_name()
    {
        $filename = $this->get_name_and_extension();
        return TextHelper::substr($filename, 0, TextHelper::strpos($filename, '.'));
    }

    public function get_folder_image()
    {
        return dirname($this->path);
    }

    function delete()
    {
        $file = new File($this->path);
        $file->delete();
    }
}
?>