Your problem might not be uploading the file, it might be that the table/column you're inserting the data into has a size restriction on it. Double check the column data type and make sure it's able to hold large amounts of data.
It also be that you're timing out when uploading larger files. Try changing your max_execution_time to something larger, say 30000, just for testing purposes.
FWIW, I think the best approach is to upload files to the filesystem and insert the path to the file in the database, not the contents of the file itself.