When i attached an image (jpg format), the file gets uploaded and in the end it shows as broken image in the attachment bar. Plus i am not getting the option to share the image as thumbnail or full image
Does it work on this site?
Probably missing finfo_open.
I noticed locally, but I thought it was my php that was an odd version...
The image works perfectly in ElkArte, and should i downgrade my PHP version and try?
Don't downgrade .... if what emanuele suspects is correct it would appear you are missing a PHP extension. What OS and version of PHP are you running?
Funny thing is that I'm on 7.2 (linux), so I should have it... but I don't. :-\
Do you have a copy of your phpinfo?
Mine has a section called fileinfo and has the following in it;
fileinfo
fileinfo support enabled
version 1.0.5
libmagic 517
@tino how to get the phpinfo details?
They are in the admin menu where the server configuration is I think. It’s it’s own tab/section.
It seems you don't have fileinfo included, I can see the disable-fileinfo in the configuration setting. so I would go with emanuele's issue, not sure how you get around that one.
// Mime Type Checker
function get_mime ($filename,$mode=0) {
// mode 0 = full check
// mode 1 = extension check only
$mime_types = array(
'txt' => 'text/plain',
'htm' => 'text/html',
'html' => 'text/html',
'php' => 'text/html',
'css' => 'text/css',
'js' => 'application/javascript',
'json' => 'application/json',
'xml' => 'application/xml',
'swf' => 'application/x-shockwave-flash',
'flv' => 'video/x-flv',
// images
'png' => 'image/png',
'jpe' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'jpg' => 'image/jpeg',
'gif' => 'image/gif',
'bmp' => 'image/bmp',
'ico' => 'image/vnd.microsoft.icon',
'tiff' => 'image/tiff',
'tif' => 'image/tiff',
'svg' => 'image/svg+xml',
'svgz' => 'image/svg+xml',
// archives
'zip' => 'application/zip',
'rar' => 'application/x-rar-compressed',
'exe' => 'application/x-msdownload',
'msi' => 'application/x-msdownload',
'cab' => 'application/vnd.ms-cab-compressed',
// audio/video
'mp3' => 'audio/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',
// adobe
'pdf' => 'application/pdf',
'psd' => 'image/vnd.adobe.photoshop',
'ai' => 'application/postscript',
'eps' => 'application/postscript',
'ps' => 'application/postscript',
// ms office
'doc' => 'application/msword',
'rtf' => 'application/rtf',
'xls' => 'application/vnd.ms-excel',
'ppt' => 'application/vnd.ms-powerpoint',
'docx' => 'application/msword',
'xlsx' => 'application/vnd.ms-excel',
'pptx' => 'application/vnd.ms-powerpoint',
// open office
'odt' => 'application/vnd.oasis.opendocument.text',
'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
);
$ext = strtolower(array_pop(explode('.',$filename)));
if (function_exists('mime_content_type') && $mode==0) {
$mimetype = mime_content_type($filename);
return $mimetype;
}
if (function_exists('finfo_open') && $mode==0) {
$finfo = finfo_open(FILEINFO_MIME);
$mimetype = finfo_file($finfo, $filename);
finfo_close($finfo);
return $mimetype;
} elseif (array_key_exists($ext, $mime_types)) {
return $mime_types[$ext];
} else {
return 'application/octet-stream';
}
}
The above code might help to use instead of the finfo function.
@tino is on the right track with that function. I wiped one up as well but it does not fallback on file extension sniffing.
So attached is an updated Attachments.subs.php (for sources/subs) and an updated Attachment.controller.php (for sources/controllers). The new function is at the bottom of the subs file and the controller was updated to call the new function. Let us know if this works for you or not.
@Spuds Thanks a lot, it fixed the issue. I tried to upgrade my board to 1.1.4 and found an issue. So i need to place the original attachment files from Elkarte pack and run the patch. Once done i can replace the files with the one given by you right?
If the one spuds provided is the latest version ( has 1.1.4 at the top ) then yes that's what I would do