我想只允许PDF和MS word文件,大小必须小于2MB, 这是我的代码:
$mimes = array(
'application/pdf',
'application/x-pdf',
'application/acrobat',
'application/msword',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
);
if(!in_array($_FILES['file']['type'], $mimes)) {
$msg1='<div class="alert alert-error">Invalid file format, Please choose only PDF or MS word files</div>';
} elseif($_FILES['file']['size']>2097152){
$msg2='<div class="alert alert-error">The file is too large,(must be < 2MB)</div>';
}
我的问题是: 当我选择尺寸> 2MB $ msg1 的pdf文件时,而不是 $ msg2
当文件不是PDF或MS Word文件时,我想显示 $ msg1 , 当文件大于&lt; 2MB
时, $ msg2任何帮助plz ????
答案 0 :(得分:2)
如果你有
<form ...>
<input id='upload' name='upload'>
</form>
您必须测试$ _FILES ['upload'] ['size']&gt; 2097152
答案 1 :(得分:0)
这是因为..上传pdf文件时,您的第一个条件会出错。当您尝试上传大小超过2M的文件时, $ _FILES [ '文件'] [ '型'] 返回null值。原因在于你的php.ini文件。去找'line_max_filesize'这一行。它可能会设置为2M.so因此,类型返回一个空字符串。