Social Icons

Rabu, 16 Januari 2013

Cara Upload, Resize & Watermarking Codeigniter



kali ini ane mo share ,gimana cara upload gambar , merubah ukuran dan menandakan gambar, pertama yang harus dilakukan adalah
1. download dulu Codeigniter trebaru, (ane pake versi 2.0.3)
kite g usah buat lagi yang namanye library buat upload karena di Codeigniter sudah di sediakan di system->libraries.
ada 2 file yang di butuhkan 1.image_lib.php dan upload.php. nah kite copy file Image_lib.php ke application->libraries dan kite rename menjadi MY_Image_lib.php dan kite edit pada bari ke 27 :
baca lebih lanjut dah..
class CI_Image_lib
jadi ,
class MY_Image_lib extends CI_Image_lib
setelah itu kite bua file di application->controller dengan file upload.php dengan code dibawah ini
buat file di controller dengan nama upload.php dengan code :



<?php
class Upload extends CI_Controller {
function __construct()    {
 parent::__construct();
 $this->load->helper(array('form', 'url'));
 }
function index()    {
 $this->load->view('upload_form', array('error' => ' ' ));
 }
function cobaupload(){
// buat folder userfile sejajar dengan folder application dan system
 $config['upload_path'] = './userfile/';    //pastikan permissionnya udah diset ke 777
 $config['allowed_types'] = 'gif|jpg|png|jpeg';    //tipe file yang diperbolehkan
 $config['max_width'] = 1028;    //ukuran maksimal yang diperbolehkan
 $config['max_height'] = 780;    //ukuran maksimal yang diperbolehkan
 $this->load->library('upload', $config);
 if($this->upload->do_upload('myfile')){//jika file berhasil diupload
 $tp=$this->upload->data();
 $res = $tp['full_path'];
 $ori = $tp['file_name'];
 $rw = $tp['raw_name'];
 $fr = $tp['file_ext'];
 $kcl = $tp['raw_name'].'_thumb'.$tp['file_ext'];
 $tnd = $tp['raw_name'].'_water'.$tp['file_ext'];
 $mr = $tp['file_path'].$ori;
 $tn = $tp['file_path'].$tnd;
$ubah = $this->ubah_ukuran_gambar($res);
 $mark = $this->watermarking($mr);
 chmod($res,0777);
 chmod($tn,0777);
 $data = array('upload_data' => $this->upload->data(),'ori'=>$ori,'tnd'=>$tnd,'kcl'=>$kcl);
 $this->load->view('upload_success', $data);
 }
 else {//jika gagal
 $error = array('error' => $this->upload->display_errors());
 $this->load->view('upload_form', $error);
 }
}
// function buat bikin tanda di gambar
 function watermark($gb) {
 $config['source_image'] = $gb;
 $config['wm_text'] = 'D U T A L A'; // tanda yang akan tercetak di gambar
 $config['wm_type'] = 'text';
 $config['wm_font_path'] = './system/fonts/BOWSHADW.TTF'; //pastikan fontnya ada
 $config['wm_font_size'] = 60;
 $config['wm_font_color'] = '00000';
 $config['wm_vrt_alignment'] = 'middle';
 $config['wm_hor_alignment'] = 'center';
 $config['wm_padding'] = 5;
 $config['thumb_marker'] = '_water';
 $config['wm_opacity'] = 5;
 $config['wm_shadow_color'] = 333333;
$this->image_lib->initialize($config);
$this->image_lib->watermark();
 }
function watermarking($gb) {
 $config['source_image'] = $gb;
 $config['wm_type'] = 'overlay';
 $config['wm_overlay_path'] = './userfile/lara.png';
 //ganti gambar sesuai yg bro pnya ini untuk watermarking
 $config['wm_font_color'] = '00000';
 $config['wm_vrt_alignment'] = 'middle';
 $config['wm_hor_alignment'] = 'center';
 $config['wm_padding'] = 5;
 $config['wm_x_transp'] = 0;
 $config['wm_y_transp'] = 5;
 $config['thumb_marker'] = '_water';
 $config['wm_opacity'] = 75;
$this->image_lib->initialize($config);
$this->image_lib->watermark();
 }
// function merubah ukuran gambar
 function ubah_ukuran_gambar($tp) {
 $config ['image_library'] = 'gd2';
 $config ['source_image'] = $tp;
 $config ['create_thumb'] = TRUE;
 $config ['maintain_ratio'] = TRUE;
// ukuran akan di ubah tidak kedua-duanya bisa jadi width atau height saja
 $config ['width'] = 300;
 $config ['height'] = 250;
 $this->load->library('image_lib',$config);
 $this->image_lib->resize();
 }
 }
setelah itu kita buat file upload_form.php di application->view dengan code dibawah ini :
<html>
 <head>
 <title>Upload Form</title>
 </head>
 <body>
 <?php echo $error;?>
 <?php
 //jangan lupa menyertakan $this->load->helper('form'); di controller yang memanggil view ini
 echo form_open_multipart('upload/cobaupload', '');?>
 <div style="padding-left:35px;">
 <h2>upload, resize &amp; watermarking</h2>
 <?php
 echo form_upload('myfile').
 form_submit('submit', 'Submit').'</p>';
 ?>
 </form>
 </div>
 </body>
 </html>
dan buat satu lagi dengan nama upload_success.php dengan code :
<html>
 <head>
 <title>Upload Form</title>
 </head>
 <body>
 <div style="padding-left:5px;">
 <h3>Your file was successfully uploaded!</h3>
 <ul>
 <?php foreach ($upload_data as $item => $value):?>
 <li><?php echo $item;?>: <?php echo $value;?></li>
 <?php endforeach; ?>
 </ul>
 <p><?php echo anchor('upload', 'Upload Another File!'); ?></p>
 </div>
 <h1>File Asli</h1>
 <img src="<?=base_url();?>userfile/<?=$ori;?>"><br/><?php echo $ori;?></img></div>
 <h1>File yang sudah di watermarking</h1>
 <img src="<?=base_url();?>userfile/<?=$tnd;?>"><br/><?php echo $tnd;?></img>
 <div style="margin:-730px 0 0 1100px;">
 <h1>File yang sudah di resize</h1>
 <img src="<?=base_urll();?>userfile/<?=$kcl;?>"><br/><?php echo $kcl;?></img>
 </div>
 </body>
 </html>
 
 
Sumber

Tidak ada komentar:

Posting Komentar