当前位置: 首页 > 知识库问答 >
问题:

如何在codeigniter 3中上载图像

越飞鸾
2023-03-14

我有麻烦与上传图像使用代码点火。我是新来的,我不知道如何上传图像使用代码点火。所以我希望你们中的任何人能帮我

这是我的表格form_add.php

<form method="POST" action="<?php echo base_url()."index.php/crud/insert"; ?       >">
    <table style="width:110%" class="table table-striped table table-bordered table table-hover">


            <td>Nama</td>
            <td><input type="text" name="nama_produk"/></td>
        </tr>
        <tr>
            <td>Info</td>
            <td><input type="text" name="info_produk"/></td>
        </tr>
        <tr>
            <td>Harga</td>
            <td><input type="text" name="harga_produk"/></td>
        </tr>
        <tr>
            <td>Stock</td>
            <td><input type="text" name="stock"/></td>
        </tr>


    <?php echo form_open_multipart('upload/do_upload');?>
        <tr>
            <td>Gambar</td>
            <td><input type="file" name="gambar_produk"></td>
        </tr>
        <tr>
            <td>Di Buat Oleh</td>
            <td><input type="text" name="penulis_produk"/></td>
        </tr>
        <tr>
            <td>Kategori</td>
            <td><input type="text" name="kategori"/></td>
        </tr>
        <tr>
            <td>Kode Kategori</td>
            <td><input type="text" name="kode_kategori"/></td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" name="btnsubmit" value="Simpan" /></td>
        </tr>
    </table>
    </form>

这是我的控制器,名为crud。php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Crud extends CI_Controller {
public function __construct()
    {
            parent::__construct();
            $this->load->helper(array('form', 'url'));
    }

public function index(){
    $data = $this->mymodel->GetAll();

    $this->load->view('view_all_produk',array('data' => $data));

}

public function add_data(){
    $this->load->view('form_add');

}


public function insert(){
    $nama_produk = $_POST['nama_produk'];
    $info_produk = $_POST['info_produk'];
    $harga_produk = $_POST['harga_produk'];
    $stock = $_POST['stock'];
    $penulis_produk = $_POST['penulis_produk'];
    $gambar_produk = $_FILES['gambar_produk']['name'];
    $gambar_tmp = $_FILES['gambar_produk']['tmp_name'];
    $kategori = $_POST['kategori'];
    $kode_kategori = $_POST['kode_kategori'];
    $data_insert = array(
        'nama_produk' => $nama_produk,
        'info_produk' => $info_produk,
        'harga_produk' => $harga_produk,
        'stock' => $stock,
        'penulis_produk' => $penulis_produk,
        'gambar_produk' => $gambar_produk,
        'kategori' => $kategori,
        'kode_kategori' => $kode_kategori
    );
    $res = $this->mymodel->insertData('produk',$data_insert);
    if($res >= 1){
        $this->session->set_flashdata('pesan','Tambah Data Sukses');
        redirect('crud/index');
    }else{
        echo "<h2>Insert Data Gagal!!!</h2>";

    }

    }

    public function do_upload()
    {
            $config['upload_path']          = './assets/images';
            $config['allowed_types']        = 'gif|jpg|png';
            $config['max_size']             = 300;
            $config['max_width']            = 1024;
            $config['max_height']           = 768;

            $this->load->library('upload', $config);

            if ( ! $this->upload->do_upload('gambar_produk'))
            {
                    $error = array('error' => $this->upload-  >display_errors());

                    $this->load->view('form_add', $error);
            }
            else
            {
                    $data = array('upload_data' => $this->upload->data());


            }
    }

这是一个名为mymodel的模型。php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Mymodel extends CI_Model {
public function GetAll($where="") {

    $data = $this->db->query('select * from produk '.$where);
    return $data -> result_array();


}

public function insertData($tableName,$data){
        $res = $this->db->insert($tableName,$data);
        return $res;

}

    public function updateData($tableName,$data,$where){
        $res = $this->db->update($tableName,$data,$where);
        return $res;

}
public function GetKategori($where=""){
    $data = $this->db->query('select * from kategori '.$where);
    return $data;
}
}

这也是我运行后显示的

遇到一个PHP错误

严重性:通知

消息:未定义索引:gambar_produk

文件名:controllers/crud。php

行号: 30

回溯:

文件:C:\xampp\htdocs\genstore\admin\application\controllers\crud。php行:30函数:\u错误\u处理程序

文件:C:\xampp\htdocs\genstore\admin\index。php行:315函数:需要一次

遇到一个PHP错误

严重性:通知

消息:未定义索引:gambar_produk

文件名:controllers/crud。php

电话号码:31

回溯:

File: C:\xampp\htdocs\genstore\admin\应用程序\控制器\crud.php行:31功能:_error_handler

文件:C:\xampp\htdocs\genstore\admin\index。php行:315函数:需要一次

发生数据库错误

错误号码:1048

列gambar_produk不能为空

插入produknama\u produkinfo\u produkharga\u produkstockpenulis\u produkgambar\u produkkode\u kategori)值('sada','asdasd','sdsd',NULL','sadasd','14')

文件名:C:/xampp/htdocs/genstore/admin/system/数据库/DB_driver.php

线路号: 691

谁能告诉我我犯了什么错?谢啦

共有2个答案

琴献
2023-03-14

试试这个!发送编码为"Multipart/form-data"的表单数据

<form method="POST" action="<?php echo base_url()."index.php/crud/insert"; ?>"  enctype="multipart/form-data">
    <table style="width:110%" class="table table-striped table table-bordered table table-hover">
何章横
2023-03-14

您是否在表单上使用multipart?

<?php echo form_open_multipart('upload/do_upload');?>

https://www.codeigniter.com/userguide3/libraries/file_uploading.html

编辑:我明白了,在你的代码中有一个表单在表单中!!

 类似资料:
  • 我想尝试下载图像点击按钮,但是当我点击按钮,所以不是下载图像,而是直接打开图像,但我想做下载图像,所以如何在reactjs下载图像?

  • 我正在尝试制作一款包含来自存储或网络的无限图像的应用程序。但问题是,recyclerview的滚动速度非常慢 我如何在我的应用程序中创建图像列表,如gallery、whats应用程序、instagram等 我想让我的应用程序运行得非常平稳 请帮帮我! 适配器代码 :

  • 问题内容: 我需要以简单的Java独立应用程序从Web加载图像。有任何想法吗? 问题答案: 这足以启动您吗?不知道您要从那里做什么。

  • 问题内容: 主要代号 2.MovieAdapter.java //我可以成功显示除图片以外的所有数据 //图片链接带有“ posterpath”键 //告诉我如何在MovieAdapter的Viewholder中加载图像 // currentmovie只是一个getter和setter类 3.当前电影 问题答案: 我正在使用该库并通过以下方式加载图像 首先通过创建显示选项对象 然后通过以下方式初始

  • 我想通过传递一个网址来加载多个图像。与本教程不同http://www.learn2crack.com/2014/06/android-load-image-from-internet.html其中只有一个图像被下载并使用img.setImageBitmap(图像)查看;我的问题是如何将url发送到一个方法以加载该url的图像,该方法返回一个图像,然后我在图像视图中显示它。

  • 我正在尝试上载3个图像字段,将它们存储在我的数据库中,并将上载的文件移动到文件夹中。 目前,“image1”、“image2”、“image3”、“image4”字段正在插入MySQL数据库,但只有“image1”正在上载并移动到我的文件夹中。 这是我的密码: 如何移动文件夹中的其他图像(“image2”、“image3”、“image4”)? 我在代码中犯了什么错误?你能解释一下我哪里做错了吗?