上传照片失败的Codeigniter

时间:2016-07-22 11:41:52

标签: php html database codeigniter web

这是我的代码,我的照片无法插入数据库。

其实我想用codeigniter进行在线考试。我想用pic上传问题。但是当我试图上传图片时,代码无效。

但问题成功插入数据库。只有图片无法上传

控制器:

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);
		}
	}

型号:

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;
  }

查看:

<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>
	

数据库:

enter image description here

1 个答案:

答案 0 :(得分:0)

请使用此代码

<?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);
    }
}   
?>