Mime types for uploading pdf in PHP in different browsers

file-upload, pdf, php

Solution

Don't trust `$_FILES['myfile']['type']` as it is provided by the client. A better solution is to use finfo_open:

$finfo = finfo_open(FILEINFO_MIME_TYPE);
$type = finfo_file($finfo, $_FILES['myfile']['tmp_name']);
if($type == 'application/pdf'){
    //Is a PDF
}

Problem

I am creating an web application that allows users to upload pdf documents. The following is the code to check(Restrict) the document type to pdf. ``` if (isset($_POST['submitbutton'])) { $name = $_FILES['myfile']['name']; $type = $_FILES['myfile']['type']; $size = $_FILES['myfile']['size']; $tmpname = $_FILES['myfile']['tmp_name']; $ext = substr($name, strrpos($name,'.')); //Get the extension of the selected file echo $type.' This is the type'; echo '<br>'; if (($type == "application/pdf")||($type == "application/octet-streamn")) { echo 'ok'; } else { echo "That is not a pdf document"; } } ``` I checked the types by echo(ing) $type to the screen. But the type output is different for firefox. I just need to confirm the following mime types. Am I correct when I say: Internet explorer : application/pdf Opera: application/pdf FireFox : application/octet-streamn or is there a standard mime type that covers all existing browsers. Please help, I am still getting my feed wet with php and files

Original source