• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 382
  • Last Modified:

Uploading file: MAX_FILE_SIZE gives $_FILES["file"]["type"] != "application/pdf" error

Hi,

My file upload script worked correctly until i added:
<input type='hidden' name='MAX_FILE_SIZE' value='10000'>

Now when uploading a pdf file, bigger or smaller than 10000 i get the error i set for a file not being: $_FILES["file"]["type"] != "application/pdf".

When i remove the MAX_FILE_SIZE the error does not appear, and uploading works well again.
What's going on here?

Thanks
0
peps03
Asked:
peps03
  • 2
  • 2
1 Solution
 
Kim WalkerWeb Programmer/TechnicianCommented:
Depending on the browser, if your file is bigger than about 10K it will not send a file at all. So the file type would be null which is != "application/pdf".
0
 
peps03Author Commented:
Ah, i see. great!
Changing the order of the error messaging worked.
Now i first get the error the file is to big.

Thanks!
May i be so cheeky to ask you 1 more thing before accepting your answer?

Is there a way to check if a pdf is really a pdf? Changing a image's extension (.jpg) to pfd still uploads..
0
 
Kim WalkerWeb Programmer/TechnicianCommented:
I'm afraid I don't the answer to that. You'd probably need to read the file header and check for a particular match. But I don't know what you'd need to look for.
0
 
peps03Author Commented:
Ok, thanks again!
0
 
Mark BradyPrincipal Data EngineerCommented:
You can check the file type by using php's inbuilt "$_FILES['file']['type']" on your receiving form/script. Usually the users browser will send the file type information as well so insteadd of checking only for the file extension (which is not a guarantee of file type) you should run another check on the actual type. To get the type you would use:

$file_type = $_FILES['file']['type']; // Now the variable $file_type should contain the in formation you want. Echo the result to see the format it provides then write your checking code to suit.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now