Upload Photo Failed Codeigniter

2020-03-30 05:47发布

问题:

This is my code, my photo can't be inserted into the database.

Actually I want to make an online exam with the codeigniter. I want to upload the question with the pic. but when I tried to upload the pict, the code is not working.

but the question success inserted into the database. only the pict failed to upload

Controller:

function insert(){
		$nama_asli = $_FILES['userfile']['name'];
		$config ['file_name'] = $nama_asli;
		$config ['upload_path'] = './images';
		$config ['allowed_types'] = 'gif|jpg|png|jpeg';
		$config ['max_size'] = '2500';
			
		$this->load->library('upload', $config);
			
		$upload_data = $this->upload->data();
		$file_name = $upload_data['file_name'];	
		
		$id_soal = '';
		$soal = $_POST['soal'];
		$a = $_POST['a'];
		$b = $_POST['b'];
		$c = $_POST['c'];
		$d = $_POST['d'];
		$kunci = $_POST['kunci'];
		$status = $_POST['status'];

		$data = array(
			'id_soal' => $id_soal,
			'soal' => $soal,
			'a' => $a,
			'b' => $b,
			'c' => $c,
			'd' => $d,
			'kunci' => $kunci,
			'status' => $status,
			'foto' => $file_name,
			);

		$hasil = $this->soal_model->Simpan('soal', $data);

		if($hasil>=1){
			redirect('dashboard/index', $data);
		}
	}

Model:

class Soal_model extends Ci_Model {

  public function Ambil($where= "") {
    $data = $this->db->query('select * from soal '.$where);
    return $data;
  }
  
  public function Simpan($tabel, $data){
    $res = $this->db->insert($tabel, $data);
    return $res;
  }

View:

<form role="form" action="<?php echo base_url(); ?>dashboard/insert" method="POST" enctype="multipart/form-data">
<form class="form-horizontal" method="post" style = "margin : 10px;">
		<div class = "row">
		<div class = "col-sm-offset-3 col-sm-6">
		<div class="form-group">
		<label>Soal :</label>
		<textarea type="text" class="form-control" name="soal" id="soal" required></textarea>
		</div>
		
		<div class="form-group">
		<label>Jawaban A :</label>
		<input type="text" class="form-control" 
		placeholder="Type Here" name="a" id="a" required/>
		</div>
		
		<div class="form-group">
		<label>Jawaban B :</label>
		<input type="text" class="form-control" 
		placeholder="Type Here" name="b" id="b" required/>
		</div>
		
		<div class="form-group">
		<label>Jawaban C :</label>
		<input type="text" class="form-control" 
		placeholder="Type Here" name="c" id="c" required/>
		</div>
		
		<div class="form-group">
		<label>Jawaban D :</label>
		<input type="text" class="form-control" 
		placeholder="Type Here" name="d" id="d" required/>
		</div>
		
		<div class="form-group">	
		<label>Kunci :</label>
		<select name="kunci" id="kunci" class="form-control">
		<option>Select</option> 
		<option>A</option>  
		<option>B</option> 
		<option>C</option>
		<option>D</option>
		</select> 
		</div>
		
		<div class="form-group">	
		<label>Status :</label>
		<select name="status" id="status" class="form-control">
		<option value="">Select</option> 
		<option value="tampil">Tampil</option>  
		<option value="tidak">Tidak</option> 
		</select> 
		
		<div class="form-group">	
		<label>Photo :</label>
		<input type="file" name="foto" id="foto" size="20"/>
		</div>
		<br>
		
		<div class="form-group">	
        <button type="submit" class="btn btn-default">Simpan</button>
		<button type="reset" class="btn btn-default">Hapus</button>
		</div>
		</div>
		</div>
	</form>
	

Database:

回答1:

Kindly use this code

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Dashboard extends CI_Controller{
    function __construct(){
        parent::__construct();
        $this->load->model('soal_model');
}

function insert()
{
    $config =array(
        'upload_path' => './images',
        'allowed_types' => 'gif|jpg|png|jpeg',
        'max_size' => '2500',
    );
    $this->load->library('upload', $config);

    $this->upload->do_upload('file_upload');

    $upload_data = $this->upload->data();   

    $file_name = $upload_data['file_name'];
    $data = array(
        'foto' => $file_name,
    );

    $hasil = $this->soal_model->Simpan('soal', $data);

    if($hasil>=1){
        redirect('dashboard/index', $data);
    }
}   
?>