Cara Upload Image, Resize dan mengunakan Watermark di Codeigniter

Cara Upload Image, Resize dan mengunakan Watermark di Codeigniter

banyak yang bertanya dengan pertanyaan seperti ini

bagaimana cara upload image di codeigniter ?

Bagaiamana cara resize image di Codeigniter ?

Bagaimana cara mengunakan watermark di codeigniter ?

Memang diakui belum banyaknya cara untuk menjawab ketiga pertanyaan diatas sekaligus, apalagi mengunakan bahasa indonesia

kali ini saya membuat tutorial lengkap dengan gambar bagaimana cara upload image, resize dan mengunakan watermark di codeigniter

ikuti tutorial ini dari awal agar kalian semua mengerti dan sukses dalam mencobanya

  1. pastikan kalian sudah menginstall codeigniter di local server
  2. buat sebuah database dengan nama terserah kemudian buat tabel dengan gambar untuk field dari tabel gambar adalah

Cara Upload Image,Resize dan mengunakan Watermark di Codeigniter

3. setelah database kita buat sekarang atur koneksinya agar aplikasi kita terhubung dengan database, silahkan atur di application/config/database.php , sesuaikan konfigurasinya pada bagian username,password dan nama database

4. langkah selanjutnya atur pada bagian autoload.php yang terdapat pada folder application/config/

pada bagian autoload libraries silahkan buat seperti ini:

$autoload['libraries'] = array('form_validation','database');

pada bagian autoload helpers silahkan buat seperti ini

$autoload['helper'] = array('url','file','form');

5.setelah semua kita atur langkah selanjutnya adalah kita membuat controller untuk menampilkan form untuk upload gambar, silahkan buat sebuah file controller, disini saya mengunakan controller dengan nama Welcome.php

<?php

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

class Welcome extends MX_Controller {

public $data;

function __construct()

{

parent::__construct();

}

public function index()

{

$this→load->view(‘form’);

}

}

6. controller tersebut ditujukan untuk memanggil sebuah file form.php yang terdapat pada folder view, untuk isi dari form.php adalah :

<form action="<?=site_url()?>welcome/simpan" method=”POST” enctype="multipart/form-data" >

<input type="text" name="namagambar" required="">

<input type="file" name="gambarfile" required="">

<input type=”submit” value =”simpan gambar”>

</form>

form diatas ketika diklik tombol simpan gambar akan mengarahkan kita ke function simpan yang terdapat pada controller Welcome

7. kita lanjut untuk membuat function simpan yang ada pada controller Welcome:

<?php

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

class Welcome extends MX_Controller {

public $data;

function __construct()

{

parent::__construct();

}

public function index()

{

$this→load->view(‘form’);

}

public function simpan ()

{

$data = array(

'namagambar' => $this->input->post('namagambar')

);

if(!empty($_FILES['gambarfile']['name']))

{

$upload = $this->_do_upload();

$data['gambarfile'] = $upload;

}

$insert = $this->Welcome_m->save($data);

}

private function _do_upload()

{

$config['upload_path'] = 'assets/gambar/';

$config['allowed_types'] = 'gif|jpg|png|jpeg|bmp|JPG';

$config['overwrite']=TRUE;

$config['file_name'] = round(microtime(true) * 1000); 

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

if(!$this->upload->do_upload('gambarfile')) 

{

$data['inputerror'][] = 'gambarfile';

$data['error_string'][] = 'Upload error: '.$this->upload->display_errors('','');

$data['status'] = FALSE;

echo json_encode($data);

exit();

}

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

$config['image_library'] = 'gd2';

$config['source_image'] = $image_data['full_path'];

$config['maintain_ratio'] = FALSE;

$config['wm_text']='snippets-code.com';

$config['wm_type']='text';

$config['wm_font_size']='12';

$config['width'] = 250;

$config['height'] = 250;

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

if (!$this->image_lib->resize()) {

$this->handle_error($this->image_lib->display_errors());

}

if (!$this->image_lib->watermark()) {

$this->handle_error($this->image_lib->display_errors());

}

return $this->upload->data('file_name');

}

}

8. File Controller sudah siap sekarang kita akan buat sebuah model yang akan membantu kita agar gambar yang kita upload masuk ke database:

<?php

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

class Welcome_m extends CI_Model {

public function save($data)

{

$this->db->insert(‘gambar’, $data);

return $this->db->insert_id();

}

}

selesai, sangat mudah bukan , hasil yang kita upload tadi akan menghasilkan

gambar dengan ukuran Width 250 dan Height 250, serta watermark dengan tulisan snippets-code.com

sekian tutorial sederhana dari saya, semoga bermanfaat dan HAPPY CODING