gpt4 book ai didi

php - 我需要上传一张带有名称的图片,并更改表格(列)

转载 作者:行者123 更新时间:2023-11-30 23:17:58 26 4
gpt4 key购买 nike

表格

My table(posts){id, title, post, date_added, userID, active, urlfile}

在这里我想用我的这个 Controller 和模型上传一个文件,它必须将该文件名插入到 url 文件并将其上传到 (/uploads/)。如果我只插入文本并删除上传部分,我的 Controller 工作正常,但它不工作

Controller 代码:

function new_post() {

$data['errors'] = 0;
if ($_POST) {

$config = array( array('field' => 'title', 'rules' => 'trim|requird'), array('field' => 'post', 'rules' => 'trim|required'));
$this -> load -> library('form_validation');
$this -> form_validation -> set_rules($config);
if ($this -> form_validation -> run() == false) {
$data['errors'] = validation_errors();
}
$data = array('title' => $_POST['title'], 'post' => $_POST['post'], 'active' => $_POST['active']);
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this -> load -> library('upload', $config);
$this -> upload -> do_upload();
$data = array('upload_data' => $this->upload->data());
$this -> post_m -> insert_post($data);
redirect(base_url() . 'posts/index_admin');
} else {

$this -> load -> view('admin/post_new', $data);

}

}

查看代码

新帖子:

<?php if ($errors){ ?>
<?php echo $errors ?>
<?php } ?>
<form action="<?php echo base_url()?>posts/new_post" method="post">
<p><?php echo form_textarea('title'); ?></p>
<p><?php echo form_textarea('post'); ?></p>
<input type="file" name="userfile" size="20" />
<p>Status: <select name="active">
<option value="1">Active</<option>
<option value="0">Un Active</<option>
</select>

</p>
<p><input type="submit" value="add post" /></p>
</form>

模型代码:

function insert_post($data){
$this->db->insert('posts', $data);
return $this->db->insert_id();
}

最佳答案

  1. 尝试对 form_validation 和上传库使用不同的 $config 数组。

  2. $data = array('upload_data' => $this->upload->data());在这一行中,您将完全删除行中已分配的数组 ( $data = array('title' => $_POST['title'], 'post' => $_POST['post'], 'active' => $_POST['active']); )。所以 title、post、active 值不会转到模型中的 insert_post。

  3. 分配 $this->upload->data() 来分隔数组变量,只使用文件名索引来获取上传的文件名并分配给 $data['urlfile'] (检查 $ 返回数组的结构this->upload->data()).

  4. date_added,$data 数组中缺少 userID 列。

  5. $data['错误'] = 0; errors 列在表中不可用,因此使用单独的变量来跟踪错误。

关于php - 我需要上传一张带有名称的图片,并更改表格(列),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16749791/

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