0

Sometimes, when uploading files using <input> tag, I encounter problem where the file extension doesn't match with its mime type defined in application/config/mimes.php. For example when I upload a .doc file, it turns out that its mime type is actually application/octet-stream, not application/msword as expected.

I had this problem sometimes in the past. I did work around by adding application/octet-stream to .doc mime array. But is there a proper way to fix it?

I think the browser have force my file's mime type somehow. Is there any kind of HTTP header or html meta tag to prevent this?

2 Answers 2

1

As you can see here this a common problem and the solution you applied is legitimate.

Sign up to request clarification or add additional context in comments.

1 Comment

Ah. Thank for the link :) Here is another one <techblog.procurios.nl/k/news/view/15872/14863/…>
0

It is not due to problem with codeignitor. It is due to php issue. For instance finfo_file function will return image with extension jpeg as image/png.

So, solution is go to config/mimes.php file and then add corresponding extension.

In case you do not know what is the extension behind the scene php is picking add this code to check.

$finfo = @finfo_open(FILEINFO_MIME);
$mime = @finfo_file($finfo, $_FILES["myname"]['tmp_name']);

$mime will be extension which php finally returns.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.