2013-03-24 84 views
0

奧基,所以我有搜索和嘗試一切從谷歌,但我很堅持。 我想在我現有的CodeIgniter項目上使用上傳功能。 我要上傳他們,然後向他們展示我與64×64像素大小視圖,而真正的大小是320×320像素。笨如何上傳圖片連接表

我加入了兩個表,從另一個表中獲取'name'字段,所以當我需要添加新數據時,我可以在我的添加數據視圖中顯示它們,並且我設法做到這一點,但我很困惑如何把上傳代碼/函數導致我有'add_data'函數,我用它來保存'tambah_mahasiswa'視圖發佈到數據庫中的內容。 我試圖在'add_data'函數上結合'do_upload'函數,但它仍然不起作用。 我該如何解決這個問題?

這是tb_mahasiswa表我的照片領域:

Field Type  Attributes 
photo blob  BINARY 

這是我的控制器代碼= 'ControlPanel控制':

class Controlpanel extends CI_Controller 
{ 
    private $path_uploads; 
    private $path_uploads_thumb; 
    function __construct() 
    { 
     parent::__construct(); 
       $this->cek_login(); 
     $this->load->model('modelku'); 

     $this->path_uploads = realpath(APPPATH . '../uploads/'); 
     $this->path_uploads_thumb = APPPATH . '../uploads/thumbnail'; 
    } 

function add_data() 
    { 
     $this->load->library('form_validation'); 
     $this->load->helper('url'); 

     $data['prodi']=$this->modelku->get_prodi_all(); 

     $this->form_validation->set_rules('nim','Nomor Induk Mahasiswa','required|exact_length[7]'); 
     $this->form_validation->set_rules('nim','Nomor Induk Mahasiswa','required|integer'); 
     $this->form_validation->set_rules('nama','Nama Lengkap Mahasiswa','required'); 
     $this->form_validation->set_rules('prodi','Prodi','required'); 
     $this->form_validation->set_rules('tanggal_lahir','Tanggal lahir','required'); 
     $this->form_validation->set_rules('email','Email','required|valid_email'); 
     $this->form_validation->set_rules('jenis_kelamin','Jenis Kelamin','required'); 
     $this->form_validation->set_rules('alamat','Alamat','required'); 
     $this->form_validation->set_rules('telepon','Telepon','required'); 

     if($this->form_validation->run()) 
     { 
         $nim = $this->input->post('nim'); 
         $nama = $this->input->post('nama'); 
         $prodi = $this->input->post('prodi'); 
         $tanggal_lahir = date('Y-m-d',strtotime($this->input->post('tanggal_lahir'))); 
         $email = $this->input->post('email'); 
         $jenis_kelamin = $this->input->post('jenis_kelamin'); 
         $alamat = $this->input->post('alamat'); 
         $telepon = $this->input->post('telepon'); 
         $photo = $this->input->post('photo'); 

         $data_mahasiswa = array('nim'=>$nim,'nama'=>$nama,'prodi'=>$prodi, 'tanggal_lahir'=>$tanggal_lahir, 
               'email'=>$email, 'jenis_kelamin'=>$jenis_kelamin,'alamat'=>$alamat, 
               'telepon'=>$telepon,'photo'=>$photo); 
         ('controlpanel/index'); 
       } else { 
      $this->load->view("tambah_mahasiswa",$data); 
      } 
    } 

function do_upload() 
    { 
     $config['upload_path'] = $this->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); 

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

      $this->load->view('tambah_mahasiswa', $error); 
     } 
     else 
     { 
      $upload_data = $this->upload->data(); 
      $this->load->view('controlpanel_view', $data); 
      $file_name = $upload_data['file_name']; 
      $config['image_library']='gd2'; 
      $config['source_image']=$this->path_uploads . '\\' . $file_name; 
      $config['new_image']=$this->path_uploads_thumb . $file_name; 
      $config['create_thumb']=TRUE; 
      $config['maintain_ratio']=TRUE; 
      $config['width']=320; 
      $config['height']=320; 

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

      if(!$this->image_lib->resize()) 
      { 
       echo $this->image_lib->display_errors(); 
      } else { 
       echo "Berhasil di unggah!"; 
      } 
     } 
    } 

這是我的看法= 'tambah_mahasiswa':

<!DOCTYPE html> 
<html> 
<head> 
<title>PHP Framework</title> 
    <link rel="stylesheet" href="<?php echo base_url() ?>asset/css/style.css"/> 
</head> 
<body> 

<h3>Tambah Data Mahasiswa</h3> 

    <?php echo form_open('controlpanel/add_data'); ?> 
    <?php echo form_open_multipart('controlpanel/do_upload'); ?> 

<table width="30%" border="0"> 
    <tr> 
    <td>NIM <sup>*</sup></td> 
    <td>:</td> 
     <td> 
      <?php echo form_input(array('name'=>'nim', 'maxlenght'=>'7', 'size'=>'10'),set_value('nim'))?> <?php echo form_error('nim','<span style="color:red;"><small>','</div></span>') ?> </br> 
     </td> 
    </tr> 

    <tr> 
    <td>Nama <sup>*</sup></td> 
    <td>:</td> 
     <td> 
      <?php echo form_input(array('name'=>'nama', 'maxlenght'=>'35', 'size'=>'15'),set_value('nama'))?> <?php echo form_error('nama','<span style="color:red;"><small>','</div></span>') ?> </br> 
     </td> 
    </tr> 


     <td>Prodi <sup>*</sup> </td> 
    <td>:</td> 
    <td> 
     <?php 
        foreach($prodi as $item_prodi) 
        { 
         $array_prodi[$item_prodi->kode]=$item_prodi->namaprodi; 
        } 
       echo form_dropdown('prodi',$array_prodi); 
       ?> 
    </td> 
    </tr> 

    <tr> 
    <td width='30%'>Tanggal Lahir <sup>*</sup></td> 
    <td>:</td> 
     <td> 
      <?php echo form_input(array('name'=>'tanggal_lahir', 'maxlenght'=> '10', 'placeholder'=>'yyyy-mm-dd', 'size'=>'15', 'id'=>'tanggal_lahir'),set_value('tgl_lahir'))?> <?php echo form_error('tgl_lahir','<span style="color:red;"><small>','</small></span>') ?> 
     </td> 
    </tr> 

    <tr> 
    <td>Jenis Kelamin <sup>*</sup></td> 
    <td>:</td> 
     <td> 
      <?php echo form_radio('jenis_kelamin', 'L', TRUE)?> Laki-laki 
      <?php echo form_radio('jenis_kelamin', 'P')?> Perempuan 
     </td> 
    </tr> 

    <tr> 
    <td>Alamat <sup>*</sup></td> 
    <td>:</td> 
     <td> 
      <?php echo form_textarea(array('name'=>'alamat','rows'=>'10','cols'=>'30'),set_value('alamat'))?> <?php echo form_error('alamat','<span style="color:red;"><small>','</small></span>') ?> </br> 
     </td> 

    </tr> 

    <tr> 
    <td>Propinsi </td> 
    <td>:</td> 
     <td> 
     <?php echo form_input(array('name'=>'propinsi', 'maxlenght'=>'15', 'size'=>'17','id'=>'propinsi'))?> <?php echo form_error('propinsi','<span style="color:red;"><small>','</small></span>') ?> </br> 
    </td> 
    </tr> 

    <tr> 
    <td>No. Telp </td> 
    <td>:</td> 
     <td> 
     <?php echo form_input(array('name'=>'telepon', 'maxlenght'=>'15', 'size'=>'17'))?> <?php echo form_error('telp','<span style="color:red;"><small>','</small></span>') ?> </br> 
    </td> 
    </tr> 

    <tr> 
    <td>Email <sup>*</sup> </td> 
    <td>:</td> 
     <td> 
     <?php echo form_input(array('name'=>'email', 'maxlenght'=>'30','placeholder'=>'[email protected]', 'size'=>'17'),set_value('email'))?> <?php echo form_error('email','<span style="color:red;"><small>','</small></span>') ?> </br> 
    </td> 
    </tr> 

    <tr> 
    <td>Photo </td> 
    <td>:</td> 
     <td> 
     <?php echo form_input(array('name'=>'photo', 'type'=>'file', 'size'=>'20'),set_value('photo')) ?> 
     </br> 
    </td> 
    </tr> 

    <tr> 
    <td> 
     <?php echo form_submit(array('type'=>"submit", 'name'=>"mysubmit", 'value'=>"Save"))?> 
    </td> 
    </tr> 

    <?php echo form_close();?> 

</table> 
</body> 
</html> 

PS:我已經在我的項目取得的圖像文件的文件夾:

- myproject\uploads\thumbnail 

回答

0

我可以從上面給出的代碼中看到,在控制器類'Controlpanel'中,您已經定義了一個函數 do_upload()。

但是,同樣的控制器功能do_upload裏面,你調用不同的類名稱「上傳」,這是一個庫類的功能。

$這個 - > upload-> do_upload()

要麼你需要改變控制器類名「ControlPanel控制」到「上傳」或者你可以嘗試在你的電流控制器改變do_upload函數的名稱類到其他名稱,然後您可以按照您當前的代碼進行操作。

您還應該確保視圖頁面的表單名稱應該是相同do_upload函數內部形式的名稱。