Php 如何检查图像是否与其他表单数据一起提交
我有一个用户注册表和上传图像与其他表单元素是可选的。所以有时候用户可能不会上传图像和其他数据 现在的问题是,即使用户还没有上传图像,下面的代码总是回显文件已上传 能否请您告诉我如何检查用户是否提交了图像,如果未上传,如何使其回显/显示“未上传” 提前感谢:) 在我的控制器文件中Php 如何检查图像是否与其他表单数据一起提交,php,codeigniter,codeigniter-2,Php,Codeigniter,Codeigniter 2,我有一个用户注册表和上传图像与其他表单元素是可选的。所以有时候用户可能不会上传图像和其他数据 现在的问题是,即使用户还没有上传图像,下面的代码总是回显文件已上传 能否请您告诉我如何检查用户是否提交了图像,如果未上传,如何使其回显/显示“未上传” 提前感谢:) 在我的控制器文件中 extract($_POST); // <<This is to retrieve all form data at once if(isset($_FILES['userfile'])){ ech
extract($_POST); // <<This is to retrieve all form data at once
if(isset($_FILES['userfile'])){
echo"file uploaded";
} else{
echo "Not Uploaded";
}
extract($\u POST);// 根据PHP文档:
如果表单中没有选择要上载的文件,PHP将把$\u文件['userfile']['size']返回为0,把$\u文件['userfile']['tmp\u name']返回为无
资料来源:
因此,您的条件可以更改为:
if(isset($_FILES['userfile']) && $_FILES['userfile']['size'] > 0){
echo"file uploaded";
} else echo "Not Uploaded" ;
您可以合并这两种检查:
if (count($_POST) and !empty($_FILES['userfile'])) {
// uploaded
}
else {
// either is missing
}
请注意,您应该而不是使用提取($\u POST)代码>。你无法控制哪些局部变量被外部覆盖。(如果没有其他内容,请调查EXTR\u前缀
)
if (count($_POST) and !empty($_FILES['userfile'])) {
// uploaded
}
else {
// either is missing
}