Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何检查图像是否与其他表单数据一起提交_Php_Codeigniter_Codeigniter 2 - Fatal编程技术网

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

 }