代码点火器表单验证和文件上传?

时间:2012-09-16 00:27:09

标签: codeigniter file-upload validation

我有一个文件上传作为表单的一部分,

我正在使用代码点火器表单验证库,

我也在使用代码点火器上传库,

我知道如何使用上传库上传图片等,但我希望在表单验证期间包含文件的基本验证(例如required,maxsize,filetype)。

我知道我需要进行回调,但问题是验证库只检查$_POST它不检查$_FILES

我该怎么做?

我在考虑将所需的输入复制到post数组

$_POST['image'] = $_FILES['image']

然后只使用回调运行验证,该回调使用实际$_FILES项目上的上传库进行实际验证,但这看起来有点笨拙。

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

让回调检查$ _FILES - 无需复制$ _POST

public function _check_file($file)
{
          $this->load->library('upload');
          if ( ! $this->ci->upload->do_upload())
          {
                $this->form_validation->set_message('_check_file', 'error');
                return FALSE;
          }
          else
          {
                    return TRUE;
          }
}

编辑:澄清 - 虽然验证库默认只检查POST - 当您运行回调时,您可以访问FILES - 所以只需检查回调中的FILES。这就是我的工作,而且效果很好。