【问题标题】:checking if the file upload is chosen or not in codeigniter检查是否在 codeigniter 中选择了文件上传
【发布时间】:2014-08-22 16:33:54
【问题描述】:

我有一个输入类型文件的表单,它不是必须上传的。但是在提交操作发生后,我想在控制器部分检查文件输入是否为空。我有以下视图页面和控制器,但该方法不适用于我。

这是表单填写页面

<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");
}

虽然我没有选择任何图像,但结果的输出始终是“选择的图像”

【问题讨论】:

  • 调试 101 - print_r($_FILES['image']);
  • Array ([name] => rajeeb dupli.jpg [type] => image/jpeg [tmp_name] => C:\xampp\tmp\phpADA0.tmp [error] => 0 [size ] => 29139 ) 是的,文件已显示
  • 我如何访问这些数组值以便我现在可以检查名称是否为空
  • 就像您对任何其他阵列所做的那样。

标签: php forms codeigniter file-upload


【解决方案1】:

错误是当您提交 FORM

$_FILES['image'] 将始终被创建,无论怎样,从而使您的条件为真。

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

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

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

【讨论】:

    猜你喜欢
    • 2016-02-15
    • 2016-01-06
    • 2021-11-02
    • 1970-01-01
    • 2018-04-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多