我有一个文件上传作为表单的一部分,
我正在使用代码点火器表单验证库,
我也在使用代码点火器上传库,
我知道如何使用上传库上传图片等,但我希望在表单验证期间包含文件的基本验证(例如required,maxsize,filetype)。
我知道我需要进行回调,但问题是验证库只检查$_POST
它不检查$_FILES
我该怎么做?
我在考虑将所需的输入复制到post数组
$_POST['image'] = $_FILES['image']
然后只使用回调运行验证,该回调使用实际$_FILES
项目上的上传库进行实际验证,但这看起来有点笨拙。
有更好的方法吗?
答案 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。这就是我的工作,而且效果很好。