如何限制PHP中的文件上传类型文件大小?
2022-08-30 17:34:55
我有一个上传表单,正在检查文件大小和文件类型,以将上传的文件限制为2兆字节,.pdf,.jpg,.gif或.png文件类型。我的目标是在用户违反这些规则之一时向用户显示警报消息。
有四种方案:
- 正确尺寸/正确类型(工作)
- 正确尺寸/错误类型(工作)
- 尺寸错误/类型正确(不工作))
- 尺寸不正确/类型不正确(不起作用))
使用我当前的代码,当文件大小大于2兆字节(#4)时,它总是显示不正确的“类型”消息,即使文件类型正确(#3)。
任何想法为什么?
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 '<script type="text/javascript">alert("'.$message.'");</script>';
}
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 '<script type="text/javascript">alert("'.$message.'");</script>';
}
else {
store_uploaded_file($id);
}
}