2014-09-10 108 views
2

我检查工作,如果该文件是MP4格式的一旦用户提交表单,这并没有为我工作:PHP文件上传不支持MP4

if(!($_FILES["videoFile"]["type"] == "video/mp4")) 
{ 
    // error handling 
} 

文件类型适用于这样的其他文件类型作为PNG/JPG等,但不适用于MP4。

echo $_FILES["videoFile"]["type"] = [tmp_name] 
echo $_FILES["videoFile"]["name"] = movie_300.mp4 

当我打印出来的文件的数组我得到:

Array ([videoFile] => Array ([name] => movie_300.mp4 [type] => [tmp_name] => [error] => 1 [size] => 0)) 

为什么我的文件类型[不对tmp_name]上传时mp4文件?

+1

你检查$ _FILES [“的录像档案”] [“型”]的价值? – dan08 2014-09-10 19:26:38

+2

你可以把<?php print_r($ _ FILES); ?>提交。 – sugunan 2014-09-10 19:27:49

+0

请参阅:http://stackoverflow.com/a/6755263/258674 – 2014-09-10 19:32:42

回答

2

您已超过文件上传大小的最大值,参见here

您可以增加此使用下面的指令在你的脚本的顶部:

ini_set('upload_max_filesize', '10M'); // set max size to 10M (or whatever) 
0

这是一个整洁的小功能。

http://subinsb.com/php-find-file-mime-type

,因为我敢肯定,默剧可以很容易被欺骗,我会小心你的验证。也许有更多安全经验的人可以考虑这个问题。我至少会进行其他一些检查。

干杯!