📜  codeigniter 中文件类型的表单验证 - PHP (1)

📅  最后修改于: 2023-12-03 15:30:02.425000             🧑  作者: Mango

CodeIgniter 中文件类型的表单验证

在 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 的表单验证类都是非常实用的。