Чтобы начать писать функцию, мы должны объявить ее как таковую ... Затем мы должны добавить наши атрибуты. Мы хотим ограничить наше изображение, поэтому мы должны сообщить функции размеры, к которым мы хотим ее ограничить, и мы должны знать, каков будет исходный размер изображения (мы перейдем к этой части через секунду ).
<?php
function imageResize($width, $height, $target) {
//takes the larger size of the width and height and applies the
formula accordingly...this is so this script will work
dynamically with any size image
if ($width > $height) {
$percentage = ($target / $width);
} else {
$percentage = ($target / $height);
}
//gets the new value and applies the percentage, then rounds the value
$width = round($width * $percentage);
$height = round($height * $percentage);
//returns the new sizes in html image tag format...this is so you
can plug this function inside an image tag and just get the
return "width=\"$width\" height=\"$height\"";
}
?>
Прежде чем мы возьмем нашу новую функцию на тест-драйв, нам нужно получить ширину и высоту изображения, которое мы хотим отобразить. В PHP есть волшебная команда, называемая getimagesize (). Эта команда при правильном использовании вернет ширину, высоту, тип и даже ширину изображения в формате тега HTML-изображения (width = ”x” height = ”y”).
$mysock = getimagesize("images/sock001.jpg");
Теперь $ mysock - это массив, содержащий важную информацию о конкретном изображении, которое мы хотим отобразить. В индексе 0 у нас есть ширина ($ mysock [0]), а в индексе 1 у нас есть высота ($ mysock [1]). Это действительно все, что нам нужно, чтобы добиться того, чего мы хотим. Хотите увидеть функцию ... ну, функцию? Вот и мы!
Допустим, вы хотите отобразить список ваших красивых носков, но вы хотите, чтобы на странице было место, чтобы они отображались аккуратно в ряд и чтобы они не могли быть больше 150 пикселей в высоту или ширину.
<?php
//get the image size of the picture and load it into an array
$mysock = getimagesize("images/sock001.jpg");
?>
<!-using a standard html image tag, where you would have the
width and height, insert your new imageResize() function with
the correct attributes -->
<img src="images/sock001.jpg" <?php imageResize($mysock[0],
$mysock[1], 150); ?>>
Вот и все! Теперь, независимо от того, каков исходный размер файла, он будет ограничен не более чем 150 пикселями по ширине или высоте (или независимо от того, что вы укажете).