检查是否在codeigniter中选择了文件上传

时间:2014-08-22 16:33:55

标签: php forms codeigniter file-upload

我有一个带有输入类型文件的表单,并且不必上传。但是在发生提交操作后,我想检查控制器部分,如果文件输入是空的。我有一个以下的视图页面和控制器,但该方法对我不起作用。

这是表格填写页面

<form enctype="multipart/form-data" method="post" 
  action="<?php echo site_url('welcome/do_upload');?>">
    username:<input type="text" name="username">
    <p>upload file</p>
    <input type="file" name="image">
    <input type="submit" name="submit" value="submit">
</form>

这是我试图检查文件是否被选中上传的控制器。

if(isset($_FILES['image'])){
    echo( "image selected");
} else {
    echo("image not selected");
}

结果的输出始终是&#34;选择的图像&#34;虽然我没有选择任何图像

1 个答案:

答案 0 :(得分:1)

提交 FORM

时出错

$_FILES['image']将永远被创造,无论如何使你的条件成真。

您在这里检查错误的条件,您要做的是当用户上传文件时。您可能要做的是检查$_FILES['image']['name']长度是> 0还是$_FILES['image']['size']> 0

示例,代码不用于生产,仅用于测试。

if ( strlen($_FILES['image']['name']) > 0){
     //yeahhhh!
}