📅  最后修改于: 2023-12-03 15:30:02.425000             🧑  作者: Mango
在 CodeIgniter 中,我们可以通过表单验证类来轻松验证表单数据。如果我们需要上传文件,并验证文件类型是否符合要求,怎么办呢?本文将介绍如何在 CodeIgniter 中进行文件类型的表单验证。
首先,需要在 CodeIgniter 控制器中加载表单验证库:
$this->load->library('form_validation');
然后,我们可以创建一个回调函数来验证文件类型是否正确。回调函数可以被添加到表单验证规则中,以确保只有满足条件的文件可以上传。
public function validate_file_type($file) {
$allowed_types = array('jpg', 'png', 'pdf');
$extension = pathinfo($file['name'], PATHINFO_EXTENSION);
return in_array($extension, $allowed_types);
}
在上面的代码中,我们定义了允许上传的文件类型,然后获取上传文件的扩展名,并判断它是否在允许上传的文件类型列表中。
现在,我们可以在控制器方法中进行表单验证:
$this->form_validation->set_rules('file', 'File', 'callback_validate_file_type');
在上面的代码中,我们传递一个回调函数 validate_file_type
,并将其绑定到上传文件字段 file
上。如果验证成功,则返回 true
;否则返回 false
。
最后,我们需要在表单中添加 enctype
属性,以确保能够上传文件:
<form method="POST" action="upload" enctype="multipart/form-data">
<input type="file" name="file">
<button type="submit">上传</button>
</form>
通过以上步骤,我们可以轻松地进行文件类型的表单验证,并确保只有符合条件的文件可以上传。无论是上传文件还是其他类型的表单验证,CodeIgniter 的表单验证类都是非常实用的。