Cách tốt nhất và nhanh nhất để kiểm tra xem hình ảnh có hợp lệ trong PHP không? Tôi cần nó để có thể kiểm tra GIF, JPG cũng như hình ảnh PNG.Cách tốt nhất và nhanh nhất để kiểm tra xem hình ảnh có hợp lệ trong PHP không?
Trả lời
Tôi đoán getimagesize
:
list($width, $height, $type, $attr) = getimagesize("path/to/image.jpg");
if (isset($type) && in_array($type, array(
IMAGETYPE_PNG, IMAGETYPE_JPEG, IMAGETYPE_GIF))) {
...
}
Đọc tài liệu: Không sử dụng getimagesize() để kiểm tra xem tệp đã cho là một hình ảnh hợp lệ hay không. http://php.net/manual/en/function.getimagesize.php –
tôi sử dụng chức năng này ... nó sẽ kiểm tra url quá
function isImage($url){
$params = array('http' => array(
'method' => 'HEAD'
));
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp)
return false; // Problem with url
$meta = stream_get_meta_data($fp);
if ($meta === false){
fclose($fp);
return false; // Problem reading data from url
}
}
có bạn đúng ... đã thêm khung. –
exif_imagetype là một giải pháp tốt hơn.
Phương pháp này nhanh hơn sử dụng getimagesize. Để báo giá php.net "Giá trị trả về là cùng một giá trị mà getimagesize() trả về trong chỉ mục 2 nhưng exif_imagetype() nhanh hơn nhiều."
if(exif_imagetype('path/to/image.jpg')) {
// your image is valid
}
Tất nhiên điều này chỉ hoạt động khi mở rộng EXIF được kích hoạt. Trong trường hợp của tôi nó không phải là trường hợp và tôi không có quyền kiểm soát này :( –
tôi sử dụng này:
function is_image($path)
{
$a = getimagesize($path);
$image_type = $a[2];
if(in_array($image_type , array(IMAGETYPE_GIF , IMAGETYPE_JPEG ,IMAGETYPE_PNG , IMAGETYPE_BMP)))
{
return true;
}
return false;
}
exif_imagetype là nhanh hơn nhiều so getimagesize và không sử dụng gd-Lib (để lại một mem dấu chân gọn gàng hơn)
function isImage($pathToFile)
{
if(false === exif_imagetype($pathToFile))
return FALSE;
return TRUE;
}
Theo đề xuất của các PHP documentation:
"Không sử dụng getimagesize() để kiểm tra xem tệp đã cho có phải là hình ảnh hợp lệ không. Sử dụng ap giải pháp được xây dựng theo yêu cầu như phần mở rộng Fileinfo thay thế. "
Dưới đây là một ví dụ:
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$type = finfo_file($finfo, "test.jpg");
if (isset($type) && in_array($type, array("image/png", "image/jpeg", "image/gif"))) {
echo 'This is an image file';
} else {
echo 'Not an image :(';
}
- 1. Cách tốt nhất để kiểm tra xem URL có tồn tại trong PHP không?
- 2. kiểm tra xem hình ảnh có tồn tại không php
- 3. cách tốt nhất để xác định xem URL có phải là hình ảnh trong PHP
- 4. Cách nhanh nhất để kiểm tra xem một loại có bị blittable không?
- 5. Cách PHP đúng để kiểm tra xem hình ảnh bên ngoài có tồn tại không?
- 6. Cách kiểm tra xem URL có hợp lệ không
- 7. PHP kiểm tra xem tệp có phải là hình ảnh
- 8. cách tốt nhất để kiểm tra xem đối tượng S3 có tồn tại không?
- 9. Cách nhanh nhất để kiểm tra xem chuỗi có thể được phân tích cú pháp
- 10. Java - Cách nhanh nhất để kiểm tra xem URL có tồn tại không?
- 11. Cách tốt nhất để kiểm tra xem Chuỗi có chứa URL trong Java/Android không?
- 12. Hợp nhất hai hình ảnh với PHP
- 13. Cách tốt nhất để kiểm tra tính hợp lệ của XML từ một phương pháp?
- 14. Cách tốt nhất để viết hình ảnh?
- 15. Làm cách nào để kiểm tra xem URL có phải là hình ảnh hợp lệ (trong javascript) không?
- 16. Backbone.js - Cách tốt nhất để kiểm tra hộp kiểm
- 17. Cách kiểm tra xem con trỏ có hợp lệ không?
- 18. Python cách tốt nhất để kiểm tra khóa hiện tại
- 19. Kiểm tra gravatar hợp lệ (PHP)
- 20. Cách tốt nhất để kiểm tra xem Biến có phải là không?
- 21. Cách tốt nhất để hợp nhất một tập hợp hình chữ nhật trong một hình ảnh là gì?
- 22. Cách kiểm tra xem tệp có phải là hình ảnh
- 23. Cách tốt nhất để kiểm tra xem đối tượng PowerShell có tồn tại không?
- 24. Cách tốt nhất để kiểm tra xem danh sách thả xuống có chứa giá trị không?
- 25. MySQL - Cách nhanh nhất để kiểm tra xem dữ liệu trong bảng InnoDB đã thay đổi
- 26. Cách dễ nhất để kiểm tra xem Chuỗi tùy ý có phải là tên tệp hợp lệ hay không
- 27. Cách ngắn nhất để kiểm tra xem biến có chứa số nguyên dương bằng PHP không?
- 28. Cách tốt nhất để cắt và tải hình ảnh lên nhanh?
- 29. Cách tốt nhất để kiểm tra trạng thái OleDbConnection
- 30. Cách kiểm tra xem Liên hệ có hình ảnh không?
Ý anh là gì bởi "hợp lệ"? Kiểm tra xem tệp hình ảnh có đúng định dạng không? –