Mục lục
Togglegetimagesize ( string $filename [, array &$imageinfo ] ) : array
<?php $size = getimagesize("example_crop.jpg"); echo '<pre>'; var_dump($size);die(); echo '</pre>'; ?>Và kết quả trả về sẽ là
array(7) { [0]=> int(438) [1]=> int(438) [2]=> int(2) [3]=> string(24) "width="438" height="438"" ["bits"]=> int(8) ["channels"]=> int(3) ["mime"]=> string(10) "image/jpeg" }
<?php $links = array("test1.jpg", "test2.png"); $sizearray = array(); $count = count($links); for($i = 0; $i < $count; $i++) { $size = getimagesize($links[$i]); list($width, $height) = $size; $sizearray[$links[$i]] = array("width" => $width, "height" => $height); } print_r($sizearray); // Array ( [test1.jpg] => Array ( [width] => 300 [height] => 400 ) [test2.png] => Array ( [width] => 680 [height] => 100 ) ) ?>Với ví dụ trên, trường hợp bạn muốn crop hàng loạt ảnh khi upload qua trình duyệt, bạn có thể sử dụng cách này để có thể lưu lại thông tin width height khi crop. Hoặc cũng có thể chỉ là kiểm tra kích thước ảnh khi upload lên Server.
<?php $tmpName = $_FILES['userfile']['tmp_name']; list($width, $height, $type, $attr) = getimagesize($tmpName); if($width>275 || $height>275) { die("Hình ảnh không hợp lệ"); } ?>Hay bạn có thể xác định kích thước ảnh muốn hiển thị theo tỷ lệ mình muốn.
<?php $location = 'example-cropped.png'; function scaleimage($location, $maxw=NULL, $maxh=NULL){ $img = @getimagesize($location); if($img){ $w = $img[0]; $h = $img[1]; $dim = array('w','h'); foreach($dim AS $val){ $max = "max{$val}"; if(${$val} > ${$max} && ${$max}){ $alt = ($val == 'w') ? 'h' : 'w'; $ratio = ${$alt} / ${$val}; ${$val} = ${$max}; ${$alt} = ${$val} * $ratio; } } return("<img src='{$location}' alt='image' width='{$w}' height='{$h}' />"); } } echo scaleimage($location,100,100); ?>
Bình luận: