gpt4 book ai didi

php - 使用 CodeIgniter 将上传图片字段添加到注册表单

转载 作者:可可西里 更新时间:2023-10-31 23:46:43 25 4
gpt4 key购买 nike

我想在 CodeIgniter 中添加上传图片字段以注册表单.

我在 Controller 中的注册码:

function add_new_ticket() {

if ($this->input->post('fullname', TRUE)
&& $this->input->post('nID', TRUE)
&& $this->input->post('age', TRUE)
&& $this->input->post('gender', TRUE)
// && $this->input->post('isFileID', TRUE)
// && $this->input->post('FileID', TRUE)
&& $this->input->post('phone', TRUE)
&& $this->input->post('type', TRUE)
&& $this->input->post('opsType', TRUE)
&& $this->input->post('clienc', TRUE)
&& $this->input->post('dr', TRUE)
&& strlen($this->input->post('phone', TRUE)) >= 9
&& strlen($this->input->post('nID', TRUE)) >= 9
&& (int) $this->input->post('age', TRUE) <= 99
&& count(explode('-',$this->input->post('default-date', TRUE)) > 1)
){

还有我在模型文件中的代码:

<?php
class user extends CI_Model {

public function add() {
$data = array(
'name' => $this->input->post('name'),
'password' => $this->input->post('password'),
'add_date' => time(),
'email' => $this->input->post('email'),
'birth_date' => $this->input->post('birth'),
'phone' => $this->input->post('phone'),
'mobile' => $this->input->post('mobile'),
'sex' => $this->input->post('type'),
'city' => $this->input->post('city'),
'first_name' => $this->input->post('first_name'),
'last_name' => $this->input->post('last_name'),
'main_street' => $this->input->post('main_street'),
'sub_street' => $this->input->post('sub_street'),
'type' => $this->input->post('member_type'),
'delegate_name' => $this->input->post('delegate_name'),
'delegate_email' => $this->input->post('delegate_email'),
'delegate_pass' => md5($this->input->post('delegate_pass')),
'location' => serialize(array($this->input->post('lat'), $this->input->post('lng')))
);
$this->db->insert('admins', $data);
}

public function edit($id = FALSE) {

$this->db->set('name', $this->input->post('name'));

$this->db->set('email', $this->input->post('email'));
$this->db->set('phone', $this->input->post('phone'));
$this->db->set('mobile', $this->input->post('mobile'));
$this->db->set('birth_date', $this->input->post('birth'));

$this->db->set('first_name', $this->input->post('first_name'));
$this->db->set('last_name', $this->input->post('last_name'));

$this->db->set('city', $this->input->post('city'));

$this->db->set('main_street', $this->input->post('main_street'));

$this->db->set('sub_street', $this->input->post('sub_street'));

if ($this->input->post('type')) {
$this->db->set('sex', $this->input->post('type'));
}

if ($this->input->post('lat') and $this->input->post('lng')) {
$this->db->set('location', serialize(array($this->input->post('lat'), $this->input->post('lng'))));
}

if ($this->input->post('password') !== '') {
$this->db->set('password', md5($this->input->post('password')));
}

$this->db->where('id', $id);
$this->db->update('admins');
}

public function del($id = FALSE) {
$this->db->where('id', $id);
$this->db->delete('admins');
}
}

我想添加一个允许上传图片的字段。

最佳答案

我假设您想在表单中添加“图片上传”选项

public function add() {



/* Configuration array various settings

can be set here

**/
$config['upload_path'] = '/file_path/'; // path where image will be saved
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$this->load->library('upload', $config);
$this->upload->do_upload('image');
$data_upload_files = $this->upload->data();

$image = $data_upload_files[full_path];
$data = array(
'name' => $this->input->post('name'),
'password' => $this->input->post('password'),
'add_date' => time(),
'email' => $this->input->post('email'),
'birth_date' => $this->input->post('birth'),
'phone' => $this->input->post('phone'),
'mobile' => $this->input->post('mobile'),
'sex' => $this->input->post('type'),
'city' => $this->input->post('city'),
'first_name' => $this->input->post('first_name'),
'last_name' => $this->input->post('last_name'),
'main_street' => $this->input->post('main_street'),
'sub_street' => $this->input->post('sub_street'),
'type' => $this->input->post('member_type'),
'delegate_name' => $this->input->post('delegate_name'),
'delegate_email' => $this->input->post('delegate_email'),
'delegate_pass' => md5($this->input->post('delegate_pass')),
'location' => serialize(array($this->input->post('lat'), $this->input->post('lng')))
'image'=>$image; // add this for image

);
$this->db->insert('admins', $data);

}

View 有这样的东西

<input type="file" name="image" size="20" />

Controller

function add_new_ticket() {

if ($this->input->post('fullname', TRUE)
&& $this->input->post('nID', TRUE)
&& $this->input->post('age', TRUE)
&& $this->input->post('gender', TRUE)
// && $this->input->post('isFileID', TRUE)
// && $this->input->post('FileID', TRUE)
&& $this->input->post('phone', TRUE)
&& $this->input->post('type', TRUE)
&& $this->input->post('opsType', TRUE)
&& $this->input->post('clienc', TRUE)
&& $this->input->post('dr', TRUE)
&& strlen($this->input->post('phone', TRUE)) >= 9
&& strlen($this->input->post('nID', TRUE)) >= 9
&& (int) $this->input->post('age', TRUE) <= 99
&& $this->upload->do_upload() // add something like this
&& count(explode('-',$this->input->post('default-date', TRUE)) > 1)
){

注意:

输入名称必须与 $this->upload->do_upload('image') 中定义的相同;即 name="image"

输入元素必须有 multiple="multiple"或只是 multiple

3.$this->load->library('upload');//加载库

4.回调,$this->upload->do_upload() 会将在给定字段名称中选择的文件上传到目标文件夹。

5.回调 $this->upload->data() 返回与上传文件相关的数据数组,如文件名、路径、大小等。

关于php - 使用 CodeIgniter 将上传图片字段添加到注册表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33194379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com