if(!empty($employeepic)) {
if ((($employeepic_type == 'image/jpg') ||($employeepic_type == 'image/jpeg') ||($employeepic_type == 'image/gif') ||
($employeepic_type == 'image/png')) && ($employeepic_size <= EMP_MAXSIZE) && ($employeepic_size > 0)){
// Move the file to the target upload folder
$target = (EMP_UPLOADPATH .$firstname.$employeepic);
if(move_uploaded_file($_FILES['employeepic']['tmp_name'],$target)){
$employee = $firstname. " " .$lastname;
}
}else{
$filetoobig =' <p class="error"> There was a problem uploading your picture. Maximum size is 30K and must be in jpg, jpeg or pjpeg format</p>';
@unlink($_FILES['employeepic']['tmp_name']);
}
}
任何人都可以看到为什么文件大小的验证不起作用吗?
(EMP_MAXSIZE = 32768)
编辑:限制大小设置为32768,但仍然可以上传2MB文件
编辑:要分配Employee_pic
大小的代码:
$employeepic = mysqli_real_escape_string($dbc, trim($_FILES['employeepic']['name']));
$employeepic_type = $_FILES['employeepic']['type'];
$employeepic_size = $_FILES['employeepic']['size'];
我想通了。 我可能没有做"正确的编码方式",但它仍然解决了问题。 我创建了另一个名为 $employee_pic = $firstname.$employeepic 的变量;在我的验证的 true 部分,并在我的验证错误结果下添加了"employee_pic=';",以便不将图片保存到 MySQL。这是通过在插入查询中更改 $employee_pic 的$employeepic变量来实现的。