diff options
author | thomascube <thomas@roundcube.net> | 2011-01-18 18:00:57 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2011-01-18 18:00:57 +0000 |
commit | 0501b637a3177cce441166b5fcfe27c9bd9fbe0f (patch) | |
tree | 5460128ef65d2510a7538c4a0e7336987e090ca1 /program/include/rcube_shared.inc | |
parent | e81a30752b244394b03cbcaa0df254c93b379782 (diff) |
Merge branch devel-addressbook (r4193:4382) back into trunk
Diffstat (limited to 'program/include/rcube_shared.inc')
-rw-r--r-- | program/include/rcube_shared.inc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc index 36c832e80..83eefd6da 100644 --- a/program/include/rcube_shared.inc +++ b/program/include/rcube_shared.inc @@ -485,6 +485,25 @@ function rc_mime_content_type($path, $name, $failover = 'application/octet-strea return $mime_type; } + +/** + * Detect image type of the given binary data by checking magic numbers + * + * @param string Binary file content + * @return string Detected mime-type or jpeg as fallback + */ +function rc_image_content_type($data) +{ + $type = 'jpeg'; + if (preg_match('/^\x89\x50\x4E\x47/', $data)) $type = 'png'; + else if (preg_match('/^\x47\x49\x46\x38/', $data)) $type = 'gif'; + else if (preg_match('/^\x00\x00\x01\x00/', $data)) $type = 'ico'; +// else if (preg_match('/^\xFF\xD8\xFF\xE0/', $data)) $type = 'jpeg'; + + return 'image/' . $type; +} + + /** * A method to guess encoding of a string. * |