В этой статейке, я хочу показать, как можно сделать валидацию для картинок. Это может пригодится при загрузке изображений пользователями на сайт.
Я написал две функции для валидации картинок: проверка корректности формата(расширения) и проверка корректности размера.
Также имеется пример использования функций:
/**
* Проверка корректности формата файла
*
* @param string $file - имя файла или путь до файла
* @param array $validFormat - массив с корректными форматами
*
* @return boolean - результат проверки
*/
function checkValidFormat($file, $validFormat){
$format = end(explode(".", $file));
if(in_array(strtolower($format), $validFormat)){
return true;
}
return false;
}
/**
* Проверка корректности размера файла
*
* @param string $file - имя файла или путь до файла
* @param array $validSize - массив с корректными размерами. <br/>
* array(<br/>
* 'width'=>$width, // - максимально допустимая ширина <br/>
* 'heigth'=>$heigth // - максимально допустимая высота <br/>
* )
*
* @return boolean - результат проверки
*/
function checkValidSize($file, $validSize){
$sizeImg = @getimagesize($file);
if(!$sizeImg) return false;
if($validSize['width']>=$sizeImg[0] && $validSize['height']>=$sizeImg[1] ){
return true;
}
return false;
}
Пример использования:
// пример использования
$file = "./test.png";
$validFormat = array('jpg', 'jpeg', 'gif', 'png');
$resultFormat = checkValidFormat($file, $validFormat);
echo($resultFormat)?"Корректный формат":"Не корректный формат";
$validSize = array(
'width' => 100,
'height' => 100
);
$resultSize = checkValidSize($file, $validSize);
echo($resultSize)?"Корректный размер файла":"Не корректный размер файла";
