オーケー、だから私はグーグルからすべてを検索して試してみましたが、行き詰まっています。既存の CodeIgniter プロジェクトでアップロード機能を使用しようとしています。それらをアップロードして、実際のサイズは 320x320 px であるのに対し、64x64 px のサイズでビューに表示したいと考えています。
2 つのテーブルを結合して、他のテーブルから「名前」フィールドを取得したので、新しいデータを追加する必要があるときに追加データ ビューにそれらを表示できます。コード/関数をアップロードするには、この「add_data」関数を使用して、「tambah_mahasiswa」ビューに投稿したものをデータベースに保存します。「do_upload」関数を「add_data」関数に結合しようとしましたが、まだ機能していません。どうすればこれを解決できますか?
これは 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'=>'name@example.com', '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