0

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

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

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

我知道如何使用上传库上传图像等,但我想在表单验证期间包含文件的基本验证(例如,必需、最大大小、文件类型)。

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

我怎样才能做到这一点?

我在想也许将所需的输入复制到 post 数组

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

然后仅使用回调运行验证,该回调使用实际$_FILES项目上的上传库进行实际验证,但这似乎有点 hacky。

有没有更好的方法来做到这一点?

4

1 回答 1

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 即可。这就是我所做的,而且效果很好。

于 2012-09-16T00:41:36.460 回答