You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

61 lines
1.7 KiB

<?php
namespace dimti\Image;
abstract class UploadHelper
{
/**
* @param $proportion
* @param $file_path
* @return bool
* @throws ErrorException
*/
public static function imageCompareAspectRatio($proportion, $file_path)
{
if (!(file_exists($file_path) && is_readable($file_path) && is_file($file_path))) {
throw new ErrorException('Unable to read file "' . $file_path . '".');
}
if ($imagesize = getimagesize($file_path)) {
$proprtion_parts = explode('x', $proportion);
if ($proprtion_parts[0] / $proprtion_parts[1] === $imagesize[0] / $imagesize[1]) {
return true;
}
}
return false;
}
/**
* @param $size
* @param $file_path
* @return bool
* @throws ErrorException
*/
public static function imageCompareSize($size, $file_path)
{
if (!(file_exists($file_path) && is_readable($file_path) && is_file($file_path))) {
throw new ErrorException('Unable to read file "' . $file_path . '".');
}
if ($imagesize = getimagesize($file_path)) {
$size_parts = explode('x', $size);
if ($imagesize[0] == $size_parts[0] && $imagesize[1] == $size_parts[1]) {
return true;
}
}
return false;
}
/**
* @param $size
* @param $file_path
* @return bool
*/
public static function imageCheckMinSize($size, $file_path)
{
$imagesize = getimagesize($file_path);
$size_parts = explode('x', $size);
if ($imagesize[0] >= $size_parts[0] && $imagesize[1] >= $size_parts[1]) {
return true;
} else {
return false;
}
}
}