В этой статейке, я хочу показать, как можно сделать валидацию для картинок. Это может пригодится при загрузке изображений пользователями на сайт.
Я написал две функции для валидации картинок: проверка корректности формата(расширения) и проверка корректности размера.
Также имеется пример использования функций:
/** * Проверка корректности формата файла * * @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)?"Корректный размер файла":"Не корректный размер файла";