Рецепт №85. Из книги «128 рецептов php»
Перейти к оглавлению
Еще одним немаловажным критерием при работе с картинками является их размер. В зависимости от большого или маленького размера, могут быть выполнены различные действия. Например, отказ от обработки изображения с выводом соответствующего сообщения или же будет выполнено уменьшение изображения до допустимых пределов.
В приведенном ниже рецепте, осуществляется получение размера картинки и сравнение их с максимально допустимыми.
Пример:
// файл, который будет проверен $file = "./test.jpg"; // массив валидных размеров $validSize = array( 'width' => 100, // ширина в пикселях 'height' => 100 // высота в пикселях ); // проверка $resultSize = checkValidSize($file, $validSize); if($resultSize){ echo "Корректный размер файла"; }else{ echo "Не корректный размер файла"; } /** * Проверка корректности размера файла * * @param string $file - имя файла или путь до файла * @param array $validSize - массив с * корректными размерами. * array( * // максимально допустимая ширина * 'width' => $width, * // максимально допустимая высота * 'heigth' => $heigth * ) * * @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; }
В примере была использована не описанная ранее функция – getimagesize. Она позволяет получать размер картинки – ширину и высоту. Данные возвращает в виде массива.