Hàm getimagesize() trong PHP là hàm được dùng để xác định kích thước của hình ảnh. Hàm này tương thích với PHP 4, PHP 5, PHP 7.
Cú pháp hàm getimagesize() trong PHP:
getimagesize ( string $filename [, array &$imageinfo ] );
Trong đó:
$filename
Tham số này chỉ định tệp có thông tin bạn muốn truy xuất. Nó có thể là một tệp cục bộ hoặc (tùy thuộc vào cấu hình), một tệp từ xa sử dụng một trong các luồng được hỗ trợ..$imageinfo
Tham số tùy chọn này được sử dụng để trích xuất thông tin bổ sung từ tệp hình ảnh. Hiện tại, tùy chọn này sẽ trả về các dấu APP APP khác nhau trong một mảng kết hợp. Một số chương trình sử dụng thẻ APP này để chỉ định thông tin trong thẻ HTML. Một điểm đánh dấu phổ biến là điểm đánh dấu APP13, được mô tả tại IPTC. Bạn có thể sử dụng hàm iptcparse () để phân tích thẻ này và nhận thông tin dễ hiểu.getimagesize () xác định kích thước của bất kỳ hình ảnh được hỗ trợ nào được cung cấp và trả về kích thước, loại hình ảnh và chuỗi loại chiều cao / chiều rộng được đặt trong thẻ HTML IMG thông thường và loại nội dung HTTP tương ứng.
getimagesize () cũng có thể trả về nhiều thông tin hơn trong tham số imageinfo.
Nếu không thể truy cập vào tên tệp, getimagesize () sẽ tạo ra lỗi cấp độ E_WARNING. Nếu xảy ra lỗi trong khi đọc, getimagesize () sẽ tạo ra lỗi cấp E_NOTICE.
Hàm này bắt buộc tên tệp là một tệp hình ảnh hợp lệ. Nếu một tệp không phải hình ảnh được cung cấp, nó có thể được phát hiện không chính xác dưới dạng hình ảnh và chức năng sẽ trả về thành công, nhưng mảng có thể chứa các giá trị vô lý.
Không sử dụng getimagesize () để xác minh rằng một tệp đã cho là hình ảnh hợp lệ. Thay vào đó, hãy sử dụng một giải pháp dành cho việc này, chẳng hạn như tiện ích mở rộng FileInfo.
Lưu ý:
Ví dụ 1: Tham khảo trên trang php.net
<?php $size = getimagesize($filename); $fp = fopen($filename, "rb"); if ($size && $fp) { header("Content-type: {$size['mime']}"); fpassthru($fp); exit; } else { // error } ?>
Trong ví dụ trên các channels sẽ là 3 cho hình ảnh RGB và 4 cho hình ảnh CMYK.
Tuy nhiên, sự hiện diện của các giá trị channels và bit có thể dẫn đến nhầm lẫn. Ví dụ: hình ảnh GIF luôn sử dụng ba kênh trên mỗi pixel, nhưng số bit trên mỗi pixel không thể được tính cho hình ảnh GIF hoạt hình có bảng màu tổng thể. Nếu xảy ra lỗi, FALSE được trả về.
Ví dụ 2: Ví dụ minh họa sử dụng hàm getimagesize() để xác định size của hình ảnh.
<?php // Calling getimagesize() function $image_info = getimagesize("logo.png"); print_r($image_info); ?>
Kết quả của ví dụ trên
Array ( [0] => 667 [1] => 184 [2] => 3 [3] => width="123" height="100" [bits] => 8 [mime] => image/png )
Ví dụ 3:
<?php // Calling getimagesize() function list($width, $height, $type, $attr) = getimagesize("logo.png"); // Displaying dimensions of the image echo "Width of image : " . $width . "<br>"; echo "Height of image : " . $height . "<br>"; echo "Image type :" . $type . "<br>"; echo "Image attribute :" .$attr; ?>
Kết quả của ví dụ trên:
Width of image : 123 Height of image : 100 Image type :3 Image attribute :width="123" height="100"
Qua các ví dụ minh họa trên đã cho biết được chức năng và cách sử dụng của hàm getimagesize(), các bạn có thể tham khảo thêm các hàm liên quan khác trong php.
Các bạn có thể xem chi tiết bài viết và tham khảo thêm nhiều hàm liên quan khác trên trang php.net.
Hi vọng với bài viết này, bạn đã hiểu rõ được chức năng và cách sử dụng của hàm getimagesize() trong PHP. Nếu bạn cảm thấy bài viết hay, ý nghĩa hãy like và chia sẻ bài viết để mọi người cùng nhau tìm hiểu nhé. Cám ơn các bạn đã ghé thăm codetutam.com
Bình luận: