On 4/28/07, Tim <downloadsoft@xxxxxxx> wrote:
On 21.04.2007 12:45, Alain Roger wrote: > Hi, > > In my web application, end user is able to load images (png, jpeg, > gif,..) into database. I would like to know how can i detect > automatically the type of image (pnd, jpeg,...) ? i do not want to > check the extension because this is easily faked... just by renaming > it. > > Does it exist a technique for that ? > > thanks a lot, > Hi, unfortunately mime_content_type() does not work for me. This functions does always return false, although the "magic.mime" is valid. Here is a function I wrote to determine the correct extension of an image file: function get_image_extension($filename) { if (function_exists('exif_imagetype')) { switch (exif_imagetype($filename)) { case 1: return 'gif'; case 2: return 'jpg'; case 3: return 'png'; case 4: return 'swf'; case 5: return 'psd'; case 6: return 'bmp'; case 7: return 'tiff'; case 8: return 'tiff'; case 9: return 'jpc'; case 10: return 'jp2'; case 11: return 'jpx'; case 12: return 'jb2'; case 13: return 'swc'; case 14: return 'iff'; case 15: return 'wbmp'; case 16: return 'xbm'; default: return false; } } else return false; } Best regards, Tim
First of all, i don't see any reason why this works better then other functions, as it also relies on the magic bytes. Second, for your switch, you should use the constants (IMAGETYPE_GIF,IMAGETYPE_JPEG,...) instead of just using decimal values. Tijnema -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php