我有一个上传表单,正在检查文件大小和文件类型,以将上传的文件限制为2
MB,以及.pdf,.jpg,.gif或.png文件类型。我的目标是在用户违反这些规则之一的情况下向他们显示警报消息。
有四种方案:
正确的尺寸/正确的类型(工作中)
正确的尺寸/不正确的类型(工作中)
尺寸/类型 不 正确( 不起作用 )
不正确的大小/ 不正确的 类型( 不起作用 )
使用我当前的代码,即使文件类型正确(#3),当文件大小大于2兆字节(#4)时,它始终显示不正确的“类型”消息。
有什么想法吗?
if (isset ( $_FILES['uploaded_file'] ) ) {
$file_size = $_FILES['uploaded_file']['size'];
$file_type = $_FILES['uploaded_file']['type'];
if (($file_size > 2097152)){
$message = 'File too large. File must be less than 2 megabytes.';
echo '';
}
elseif (
($file_type != "application/pdf") &&
($file_type != "image/jpeg") &&
($file_type != "image/jpg") &&
($file_type != "image/gif") &&
($file_type != "image/png")
){
$message = 'Invalid file type. Only PDF, JPG, GIF and PNG types are accepted.';
echo '';
}
else {
store_uploaded_file($id);
}
}