用户评论:
[#1]
vuatintac at yahoo dot com [2015-04-01 17:32:41]
to checking file is image, I used this:
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;
}
[#2]
web-coder at ukr dot net [2014-12-01 13:44:43]
validate file exists and the image type
if(file_exists($path_image) && in_array(exif_imagetype($path_image),array(1, 2, 3, 6))){ ... }
[#3]
sourabh dot deshmukh at snstech dot com [2013-12-10 13:42:46]
This functions showing up a warning message that "warnings stream does not support seeking". Is it related to size of file which you mentioned in earlier post or something else. Also how do I get rid of that warning?
[#4]
christophe dot tournayre at univ*bpclermont dot Fr [2013-09-18 09:01:01]
Because I only want to check for jpeg or png from a memory string, this is my 2 functions that are quick and don't have any dependencies :
{
return (bin2hex($pict[0]) =='ff'&&bin2hex($pict[1]) =='d8');
}
functionis_png(&$pict)
{
return (bin2hex($pict[0]) =='89'&&$pict[1] =='P'&&$pict[2] =='N'&&$pict[3] =='G');
}?>
[#5]
admin at leonard !spam challis dot com [2010-11-03 08:02:44]
Windows users: If you get the fatal error "Fatal error: Call to undefined function exif_imagetype()", and you have enabled php_exif.dll, make sure you enable php_mbstring.dll. You must put mbstring before exif in the php.ini, i.e.:
extension=php_mbstring.dll
extension=php_exif.dll
You can check whether this has worked by calling phpinfo() and searching for exif.
[#6]
tom dot ghyselinck at telenet dot be [2008-01-13 01:36:23]
If the function exif_imagetype() is not available,
you can try the following workaround:
if ( ! function_exists( 'exif_imagetype' ) ) {
function exif_imagetype ( $filename ) {
if ( ( list($width, $height, $type, $attr) = getimagesize( $filename ) ) !== false ) {
return $type;
}
return false;
}
}
[#7]
Tim [2007-11-19 08:40:07]
By trial and error, it seems that a file has to be 12 bytes or larger in order to avoid a "Read error!". Here's a work-around to avoid an error being thrown:
// exif_imagetype throws "Read error!" if file is too small
if (filesize($uploadfile) > 11)
$mimetype = exif_imagetype($uploadfile);
else
$mimetype = false;
[#8]
[2006-11-09 16:43:11]
Seems to give a 'Read error' warning if the size of the file is very small (2 bytes). I think this is because it needs a min 3 bytes to determine the file type
[#9]
tom at tomvergote dot be [2004-02-07 14:11:39]
libexif can also be used to parse image info out of id3 tags:
exif_read_data("mp3_with_2.4ID3TAGS, '', true, false);