mirror of
https://github.com/pierre42100/comunic
synced 2024-11-17 02:51:13 +00:00
64 lines
1.2 KiB
PHP
64 lines
1.2 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Gregwar\Image\Source;
|
||
|
|
||
|
use Gregwar\Image\Image;
|
||
|
|
||
|
/**
|
||
|
* Open an image from a file
|
||
|
*/
|
||
|
class File extends Source
|
||
|
{
|
||
|
protected $file;
|
||
|
|
||
|
public function __construct($file)
|
||
|
{
|
||
|
$this->file = $file;
|
||
|
}
|
||
|
|
||
|
public function getFile()
|
||
|
{
|
||
|
return $this->file;
|
||
|
}
|
||
|
|
||
|
public function correct()
|
||
|
{
|
||
|
return false !== @exif_imagetype($this->file);
|
||
|
}
|
||
|
|
||
|
public function guessType()
|
||
|
{
|
||
|
if (function_exists('exif_imagetype')) {
|
||
|
$type = @exif_imagetype($this->file);
|
||
|
|
||
|
if (false !== $type) {
|
||
|
if ($type == IMAGETYPE_JPEG) {
|
||
|
return 'jpeg';
|
||
|
}
|
||
|
|
||
|
if ($type == IMAGETYPE_GIF) {
|
||
|
return 'gif';
|
||
|
}
|
||
|
|
||
|
if ($type == IMAGETYPE_PNG) {
|
||
|
return 'png';
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$parts = explode('.', $this->file);
|
||
|
$ext = strtolower($parts[count($parts)-1]);
|
||
|
|
||
|
if (isset(Image::$types[$ext])) {
|
||
|
return Image::$types[$ext];
|
||
|
}
|
||
|
|
||
|
return 'jpeg';
|
||
|
}
|
||
|
|
||
|
public function getInfos()
|
||
|
{
|
||
|
return $this->file;
|
||
|
}
|
||
|
}
|