diff --git a/include/class.file.php b/include/class.file.php index d3f8393b6be57498183d555130b7b984d88aaaf5..50ba68c79b0a92e8d572665cafb53398a6a8582c 100644 --- a/include/class.file.php +++ b/include/class.file.php @@ -252,6 +252,20 @@ class AttachmentFile { if(!$file['size']) $file['size'] = strlen($file['data']); + if (!$file['type']) { + $finfo = new finfo(FILEINFO_MIME_TYPE); + if ($file['data']) + $type = $finfo->buffer($file['data']); + elseif ($file['tmp_name']) + $type = $finfo->file($file['tmp_name']); + + if ($type) + $file['type'] = $type; + else + $file['type'] = 'application/octet-stream'; + } + + $sql='INSERT INTO '.FILE_TABLE.' SET created=NOW() ' .',type='.db_input(strtolower($file['type'])) .',size='.db_input($file['size'])