我只想允许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 的 pdf 文件时,将显示 $msg 1 而不是 $msg 2
当文件不是PDF或MS Word文件时,我想显示$msg 1,当文件为>2MB 时为 $msg 2
请帮忙吗????
如果你有
<form ...>
<input id='upload' name='upload'>
</form>
您必须测试 $_FILES["上传"]["大小"]> 2097152
这是因为..当您上传 pdf 文件时,您的第一个条件变得错误。当您尝试上传大于 2M 大小的文件时,$_FILES["文件"]["类型"]返回一个空值。原因在于您的 php.ini 文件。去找"upload_max_filesize"行。它可能会设置为 2M.so 因此,该类型返回一个空字符串。