Tags: ,

Cari extensi file dengan php


pakai fungsi ini untuk mendapatkan ekstensi php:

contoh file

$_FILES[’fileupload’][’name’] = namafile.doc

$file_type = substr($_FILES[’fileupload’][’name’], strrpos($_FILES[’Filedata’][’name’], ‘.’)+1);

$file_type = doc

Posted in PHPComments (0)

Tags: ,

Error deprecated di PHP 5.3.X


pesan error pada PHP versi 5.3.x disebabkan karena ada ratusan bugs untuk versi 5.3 terutama 5.3.0. terbukti php dot net sendiri masih melakukan develop utk versi 5.2 nya.. ga tau kenapa ambisi update versi ini malah membuatnya tak stabil, malahan dah ada planing tuh launching php versi 6.x

Jika anda menggunakan xampp, update xampp anda dengan yang lebih baru, atau update php nya saja ke yang lebih baru, kebanyakan error pada penanganan object. Daripada harus edit satu-satu coding yang sudah dibikin, mending update versi php nya…

Untuk keamanan data anda, backuplah dulu project anda sebelum diupdate.

Saya lebih suka pakai versi update karena banyak fungsi baru yg built in dan karena keamanan aplikasi.

Jika pesan error anda adalah Function bla bla is deprecated in some path, itu adalah pemberitahuan dari php bahwa fungsi atau parameter yang disebutkan akan dihapus di versi php berikutnya..

jadi segera benahi coding anda, mulai sekarang…

Posted in PHPComments (5)

Tags: ,

Implementasi ajax dalam mengirim isi textarea kedalam file


Sebenarnya tulisan ini dari request di komentar, yang minta contoh penggunaan ajax.

kali ini saya tidak akan ngomong panjang tentang ajax, karena di tulisan sebelum2nya sudah dibahas detail teorinya, judul disinikan implementasi, jadi praktek only. oke

Visi tulisan ini adalah:
- implementasi ajax dengan prototype.js
- mengirim nilai textarea
- menulisi file dengan ajax
- mendeteksi respon

Misi tulisan ini adalah:
1. memanggil ajax
2. membuat form texarea
3. membuat script request
4. membuat file baru yg berisi script penampung proses
5. mendeteksi keluaran

File utama.php

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mengirim isi textarea ke dalam file</title>
<script src="prototype.js" type="text/javascript"></script>
<script language="javascript">
      function validasi(){
      if($("listData").value == ""){
        alert('Textarea jangan kosong doonkkk');
        $("listData").focus();
        return false;
      }
      return true;
      }
      function listData(){
          if($("listData").value != ""){
              var dListData = $('listData').value;
              var text = dListData.replace(/\s+$/g,"");
              var splitq = text.split("\n");
    
                  var jumBaris = splitq.length;
                  URL='tulisTextFile.php?jumBaris='+jumBaris+'&dListData='+splitq+'&rd=65765s';
                   new Ajax.Request(URL,{
                       method: 'get',
                       onSuccess: function(transport){
              if(transport.responseText){
                              var responData = transport.responseText;
                              var hasilx = new Array();
                              hasilx = responData.split("|");
                alert('terima hasil:');
                alert('jenis hasil'+hasilx[0]);
                alert('status respon'+hasilx[1]);
              } else {
                alert('respon gagal');
              }
                       }, onFailure: function(transport){
              alert('request gagal');
                       }, onLoading: function(transport){
              alert('masih loading');
                       }
                   });
          }  else {
      alert('gagal, teks jangan kosong');
      }
      }
 
</script>
 
</head>
<body>
  <table>
  <tr>
  <td>
    <textarea name="listData" id="listData" cols="109" rows="3" style="font-size:11px;font-family: Tahoma;text-align:left;"></textarea>
  </td>
  </tr>
  <tr>
  <td>
    <input type="submit" name="prosesdata" value="Kirim ke File" id="prosesData" onClick="if(validasi()) { kirimData(); }"/>
  </td>
  </tr>
  </table>
 
</body>
</html>

Lalu buat file baru dengan nama tulisTextFile.php

< ?php
$jumBaris = $_GET['jumBaris'];
$dListData = $_GET['dListData'];
$explodeList = explode(",",$dListData);
$isi = "";
foreach($explodeList as $index=>$nil){
    $isi .= "".$nil."\r\n";
}
 
    $namaFileDigit = $jumBaris."Digit.txt";
    @unlink($namaFileDigit);
    $handle = @fopen($namaFileDigit, 'a+');
    
    if(@fwrite($handle, $isi)){
    echo '1|Sukses isi file';
  } else {
    echo '0|Gagal isi file';
  }
 
    @fclose($handle);
?>

silahkan jalankan di browser anda dengan memanggil localhost/utama.php
isi textarea, lalu tekan tombol Kirim ke File…

Semoga sukses, kalo error gimana ya.. semoga aja tidak okeyyy…
pengin njelasin tapi cape,,,,

Posted in Ajax, Javascript, PHPComments (4)

Tags:

solusi Mengirimkan array dengan method link


Ketika saya hendak mengirimkan array lewat method get, contohnya :
Quick Code


$data = array('edi','24 tahun','malang');

dengan form bisa dikirimkan data array tersebut dengan kode :
Quick Code


< ?php
echo '
<form method="get" action="proses.php">
<input type="text" name="data" value="'.$data.'" />
<input type="submit" value="Submit" />
 
';
?>

biasanya akan ditangani dengan :
Quick Code


$data = $_GET['data'];

Nah jika dikirimkan dengan url link seperti :
Quick Code


echo '<a href="proses.php?data='.$data.'">Klik disini</a>';

Jika ditangani dengan $_GET maka nilai data bukanlah sebagai array, cara menampungnya dengan

Quick Code


foreach($data as $i=>$nil){
   $url .= 'data['.$i.']=$nil.'&';
}
echo '<a href="proses.php?'.$url.'">Klik disini</a>';

Kalau arraynya banyak banget mungkin get tidak dapat menanganinya, untuk itu solusinya pakai SESSION untuk mengirimkannya, yaitu :

Quick Code


$_SESSION['data']=$data;

Ini yang paling praktis sehingga tinggal di panggil :
Quick Code


$data = $_SESSION['data'];

Begitu kira-kira….

Posted in PHPComments (2)

Tags:

Membuat vertical text dengan css di firefox tidak jalan


Ada kalanya kita ingin membuat vertikal text, namun ternyata kode css yang ada tidak bisa berjalan mulus di browser firefox, kode css berikut :

Quick Code


<style type="text/css">
.teksVertical {
writing-mode: tb-rl;
filter: flipH flipV;
letter-spacing:2px;
}
</style>

Kode diatas memang membuat teks tampil secara vertikal di IE, namun di firefox teks tetap mendatar layaknya tak ada style, berikut trik supaya bisa membuat teks vertikal :
1. Jadikan teks menjadi gambar vertikal dengan PHP GD, perintah ImageStringUp.
2. Panggil dengan perintah HTML <img src="gambar.png"/>

Kira-kira Scriptnya begini :
Quick Code


< ?php
header ("Content-type: image/png");
// imagecreate (x width, y width)
$img_handle = imagecreate (15, 220) or die ("gagal membuat gambar");
// ImageColorAllocate (image, red, green, blue)
$back_color = ImageColorAllocate ($img_handle, 153, 204, 255);
$txt_color = ImageColorAllocate ($img_handle, 0, 0, 0);
ImageStringUp ($img_handle, 3, 1, 215,'Test Text Vertical', $txt_color);
ImagePng ($img_handle);
ImageDestroy($img_handle);
?>

Silahkan dicoba sendiri ya..

Posted in CSS, HTML, PHPComments (0)

Tags: , ,

Daftar mime type file berdasarkan ekstensinya


Berikut ini adalah list dari jenis type file atau yang di sebut juga MIME Type yang di dapat gunakan sebagai informasi file.
Ini bisa juga dipakai ketika verifikasi upload file, merecord type sesungguhnya file. Kenapa tidak berdasarkan ekstensinya saja? karena orang upload file bisa jadi merubah ekstensinya. contoh ketika orang mau mengupload trojan/malware ke server dengan mudah dia merename filenya menjadi pdf/doc.

Nah verifikasi type file ini akan menjadi penting.
Berikut daftar listing mime type/type file urut berdasarkan ekstensinya :
.3dm x-world/x-3dmf
.3dmf x-world/x-3dmf
.a application/octet-stream
.aab application/x-authorware-bin
.aam application/x-authorware-map
.aas application/x-authorware-seg
.abc text/vnd.abc
.acgi text/html
.afl video/animaflex
.ai application/postscript
.aif audio/aiff
.aif audio/x-aiff
.aifc audio/aiff
.aifc audio/x-aiff
.aiff audio/aiff
.aiff audio/x-aiff
.aim application/x-aim
.aip text/x-audiosoft-intra
.ani application/x-navi-animation
.aos application/x-nokia-9000-communicator-add-on-software
Read the full story

Posted in PHPComments (3)

Tags:

Mengupload lebih dari satu gambar sekaligus multiple upload dengan PHP (Part 4)


Ini adalah posting yang ke empat tentang upload gambar dengan PHP,
Postingan Sebelumnya adalah
Mengupload gambar dengan PHP
Mendeteksi type dan ukuran dalam mengupload gambar PHP
Meresize gambar sesuai yang kita inginkan dengan PHP

Mengupload lebih dari satu gambar sekaligus multiple upload dengan PHP

disini saya hanya menambahkan beberapa parameter untuk mengupload lebih dari satu gambar sekaligus.
Anda dapat merubah jumlah form input sesuka anda.
Berikut ini langkah-langkah a b c nya :

a. buat file upload_empat.php
Quick Code


<form enctype="multipart/form-data" action="upload_empat_proses.php" method="POST">
    Upload file <br />
< ?php
$jumlahForm = 10;
 
for($i=1;$i<=$jumlahForm;$i++) {
    echo 'gambar '.$i.' : <input name="foto'.$i.'" type="file" /><br />';
}
    echo '<input type="hidden" name="jumlahForm" value="'.$jumlahForm.'" />';
?>
    <input type="submit" value="Proses Upload" />
</form>

Silahkan masukkan jumlah form yang anda inginkan di varible $jumlahForm di atas.

c. buat file upload_empat_proses.php
Quick Code


< ?php
//konfigurasi file gambar
$typeGambar   = array('image/jpg', 'image/jpeg', 'image/png', 'image/gif');//type gambar yg di ijinkan
$ukuranMin    = 1000; //ukuran minimum, dlm byte
$ukuranMax    = 100000; //ukuran maximum, dlm byte
$folderTujuan = './foto_user/'; //folder dimana file akan di letakkan
$folderThumbs = './foto_user_thumbs/'; //folder dimana file thumbs akan di letakkan
$lebarGambar  = 110;//ukuran lebar gambar hasil resize
$prefix       = 'thumbs_';//nama awal utk file yg di resize
 
function resizeGambar($pathFileTujuan,$lebarGambar,$folderThumbs,$namaFileTujuan,$prefix){
  $tipe = ereg_replace(".*\.(.*)$","\\1",$pathFileTujuan);
  @header("Content-type: image/".$tipe);
  
  list($lebar,$tinggi) = getimagesize($pathFileTujuan);
  $lebar_baru = $lebarGambar;
  $tinggi_baru= ($lebar_baru/$lebar) * $tinggi;
  // proses copy resize
  $gambar_baru = imagecreatetruecolor($lebar_baru, $tinggi_baru) or die('Problem In Creating image');
  if($tipe=='jpg' || $tipe=='jpeg') {
     $gambar_asli = imagecreatefromjpeg($pathFileTujuan) or die('Problem In opening Source JPEG Image');
  } elseif($tipe=='gif') {
     $gambar_asli = imagecreatefromgif($pathFileTujuan) or die('Problem In opening Source GIF Image');
  } elseif($tipe=='png') {
     $gambar_asli = imagecreatefrompng($pathFileTujuan) or die('Problem In opening Source PNG Image');
  }
  imagecopyresampled($gambar_baru, $gambar_asli, 0, 0, 0, 0, $lebar_baru, $tinggi_baru, $lebar, $tinggi) or die('Problem In resizing');
 
  // Keluaran
  if($tipe=='jpg' || $tipe=='jpeg') {
     imagejpeg($gambar_baru, $folderThumbs.$prefix.$namaFileTujuan,100) or die('Problem In saving JPEG');
  } elseif($tipe=='gif') {
     imagegif($gambar_baru, $folderThumbs.$prefix.$namaFileTujuan) or die('Problem In saving GIF');
  } elseif($tipe=='png') {
     imagepng($gambar_baru, $folderThumbs.$prefix.$namaFileTujuan) or die('Problem In saving PNG');
  }
  //hapus resource gambar
  imagedestroy($gambar_baru);
  imagedestroy($gambar_asli);
}
 
function cekType($fileFoto,$typeGambar) {
    $typeFile = strtolower($fileFoto[type]);
  if(in_array($typeFile,$typeGambar)) {
    return true;
  } else {
    return false;
  }
}
function cekUkuran($fileFoto,$ukuranMin,$ukuranMax) {
  if($fileFoto[size] > $ukuranMin AND $fileFoto[size] < $ukuranMax) {
     return true;
  } else {
     return false;
  }
}
function namaFileTujuan($fileFoto,$folderTujuan){
$fileTujuan = $folderTujuan.$fileFoto['name'];
$namaFile = $fileFoto['name'];
  if(file_exists($fileTujuan)) { //jika nama file sudah ada, rename sesuai dengan urutan
    $i=0;
      while (file_exists($fileTujuan)) {
         $fileTujuan = $folderTujuan.$i.'_'.$fileFoto['name'];
         $namaFile = $i.'_'.$fileFoto['name'];
         $i++;
      }
  }
return $namaFile;
}
function prosesUpload($fileFoto,$pathFileTujuan) {
    if (@move_uploaded_file($fileFoto['tmp_name'], $pathFileTujuan)) {
     echo  'Upload file di '.$pathFileTujuan.' Sukses<br>';//sukses
    }  else {
     echo  'Upload file di '.$pathFileTujuan.' gagal<br />';//upload gagal
    }
}
 
for($i=1;$i< =$_POST[jumlahForm];$i++) {
$foto = 'foto'.$i;
$fileFoto = $_FILES[$foto];//mengambil nilai file gambar
if($fileFoto[name]!='') {
    $cekType  = cekType($fileFoto,$typeGambar);//cek type file
    $cekUkuran= cekUkuran($fileFoto,$ukuranMin,$ukuranMax);//cek ukuran file
    
    if($cekType) {
       if($cekUkuran) {
       $namaFileTujuan = namaFileTujuan($fileFoto,$folderTujuan);//cek file tujuan upload,
       $pathFileTujuan = $folderTujuan.$namaFileTujuan;//membuat alamat file tujuan
       $prosesUpload   = prosesUpload($fileFoto,$pathFileTujuan);//proses upload
       $prosesResized  = resizeGambar($pathFileTujuan,$lebarGambar,$folderThumbs,$namaFileTujuan,$prefix); //proses resize
       } else {
         echo 'Ukuran gambar no '.$i.'  tidak diijinkan<br>';
       }
    } else {
      echo 'Type gambar no '.$i.' tidak diijinkan<br />';
    }
} else {
   echo 'File no '.$i.' kosong<br />';
}
}
echo '<br />';
echo 'Klik <a href="upload_empat.php">disini</a> untuk kembali';
?>

File ini hampir sama dengan posting sebelumnya, hanya ada tambahan iterasi untuk memproses jumlah gambar yang akan diupload.

Silahkan kembangkan sendiri, di otak-atik juga bisa.
Moga bermanfaat yach..

Posted in PHPComments (9)

Tags: ,

Meresize gambar sesuai yang kita inginkan dengan PHP (Part 3)


Tulisan sebelumnya tentang upload gambar :
1. upload gambar dengan PHP
2. Sebelumnya Mendeteksi type dan ukuran dalam mengupload gambar PHP
Ini adalah kelanjutan upload gambar yang no 3, yaitu Meresize gambar sesuai yang kita inginkan dengan PHP, type dinamis sesuai kebutuhan, bisa JPG, JPEG, PNG, GIF, dll. Kita juga bisa tentukan sendiri ukuran gambar, resize dll
Disini judulnya resize gambar dengan PHP, biar lebih simple.

3. Meresize gambar sesuai yang kita inginkan

Disini kita akan membuat bagaimana ketentuan upload dijalankan, kita atur dalam baris konfigurasi paling atas :
- kita masukkan type gambar yang boleh diupload
- ukuran minimum gambar yang boleh diupload dlm byte
- ukuran maximum gambar yang boleh diupload dlm byte
- folder tujuan, folder dimana file hasil upload akan di letakkan
- folder thumbs, folder dimana file thumbs (hasil resize) akan di letakkan
- lebar gambar, ukuran lebar gambar hasil resize (tinggi akan menyesuaikan berdasarkan rasio)
- prefix, nama awal utk file yg di resize

Seperti biasa, step-stepnya pake a b c dst
a. buat file upload_tiga.php
Quick Code


<form enctype="multipart/form-data" action="upload_tiga_proses.php" method="POST">
    Upload file gambar: <input name="foto" type="file" />
    <input type="submit" value="Proses Upload" />
</form>

b. buat folder foto_user dan foto_user_thumbs (sesuai dengan konfigurasi di point c)

c. buat file upload_tiga_proses.php
Quick Code


< ?php
//konfigurasi file gambar
$typeGambar   = array('image/jpg', 'image/jpeg', 'image/png', 'image/gif');//type gambar yg di ijinkan
$ukuranMin    = 1000; //ukuran minimum, dlm byte
$ukuranMax    = 100000; //ukuran maximum, dlm byte
$folderTujuan = './foto_user/'; //folder dimana file akan di letakkan
$folderThumbs = './foto_user_thumbs/'; //folder dimana file thumbs akan di letakkan
$lebarGambar  = 110;//ukuran lebar gambar hasil resize
$prefix       = 'thumbs_';//nama awal utk file yg di resize
 
function resizeGambar($pathFileTujuan,$lebarGambar,$folderThumbs,$namaFileTujuan,$prefix){
  $tipe = ereg_replace(".*\.(.*)$","\\1",$pathFileTujuan);
  @header("Content-type: image/".$tipe);
  
  list($lebar,$tinggi) = getimagesize($pathFileTujuan);
  $lebar_baru = $lebarGambar;
  $tinggi_baru= ($lebar_baru/$lebar) * $tinggi;
  // proses copy resize
  $gambar_baru = imagecreatetruecolor($lebar_baru, $tinggi_baru) or die('Problem In Creating image');
  if($tipe=='jpg' || $tipe=='jpeg') {
     $gambar_asli = imagecreatefromjpeg($pathFileTujuan) or die('Problem In opening Source JPEG Image');
  } elseif($tipe=='gif') {
     $gambar_asli = imagecreatefromgif($pathFileTujuan) or die('Problem In opening Source GIF Image');
  } elseif($tipe=='png') {
     $gambar_asli = imagecreatefrompng($pathFileTujuan) or die('Problem In opening Source PNG Image');
  }
  imagecopyresampled($gambar_baru, $gambar_asli, 0, 0, 0, 0, $lebar_baru, $tinggi_baru, $lebar, $tinggi) or die('Problem In resizing');
 
  // Keluaran
  if($tipe=='jpg' || $tipe=='jpeg') {
     imagejpeg($gambar_baru, $folderThumbs.$prefix.$namaFileTujuan) or die('Problem In saving JPEG');
  } elseif($tipe=='gif') {
     imagegif($gambar_baru, $folderThumbs.$prefix.$namaFileTujuan) or die('Problem In saving GIF');
  } elseif($tipe=='png') {
     imagepng($gambar_baru, $folderThumbs.$prefix.$namaFileTujuan) or die('Problem In saving PNG');
  }
  //hapus resource gambar
  imagedestroy($gambar_baru);
  imagedestroy($gambar_asli);
}
 
function cekType($fileFoto,$typeGambar) {
    $typeFile = strtolower($fileFoto[type]);
  if(in_array($typeFile,$typeGambar)) {
    return true;
  } else {
    return false;
  }
}
function cekUkuran($fileFoto,$ukuranMin,$ukuranMax) {
  if($fileFoto[size] > $ukuranMin AND $fileFoto[size] < $ukuranMax) {
     return true;
  } else {
     return false;
  }
}
function namaFileTujuan($fileFoto,$folderTujuan){
$fileTujuan = $folderTujuan.$fileFoto['name'];
$namaFile = $fileFoto['name'];
  if(file_exists($fileTujuan)) { //jika nama file sudah ada, rename sesuai dengan urutan
    $i=0;
      while (file_exists($fileTujuan)) {
         $fileTujuan = $folderTujuan.$i.'_'.$fileFoto['name'];
         $namaFile = $i.'_'.$fileFoto['name'];
         $i++;
      }
  }
return $namaFile;
}
function prosesUpload($fileFoto,$pathFileTujuan) {
    if (@move_uploaded_file($fileFoto['tmp_name'], $pathFileTujuan)) {
     echo  'Upload file di '.$pathFileTujuan.' Sukses<br>';//sukses
    }  else {
     echo  'Upload gagal<br />';//upload gagal
    }
}
 
$fileFoto = $_FILES[foto];//mengambil nilai file gambar
$cekType  = cekType($fileFoto,$typeGambar);//cek type file
$cekUkuran= cekUkuran($fileFoto,$ukuranMin,$ukuranMax);//cek ukuran file
 
if($cekType) {
   if($cekUkuran) {
   $namaFileTujuan = namaFileTujuan($fileFoto,$folderTujuan);//cek file tujuan upload,
   $pathFileTujuan = $folderTujuan.$namaFileTujuan;//membuat alamat file tujuan
   $prosesUpload   = prosesUpload($fileFoto,$pathFileTujuan);//proses upload
   $prosesResized  = resizeGambar($pathFileTujuan,$lebarGambar,$folderThumbs,$namaFileTujuan,$prefix); //proses resize
   } else {
     echo 'Ukuran gambar tidak diijinkan';
   }
} else {
  echo 'Type gambar tidak diijinkan';
}
echo '<br />';
echo 'Klik <a href="upload_tiga.php">disini</a> untuk kembali';
?>

Silahkan di coba, custom sendiri yach sesuai keinginan, thanks
Untuk upload banyak gambar, akan di tulis esok, wait ya…

Posted in PHPComments (7)

Tags: , , ,

Perbedaan Imagecopyresampled dan Imagecopyresized PHP


Antara Imagecopyresampled dan Imagecopyresized di PHP memiliki fungsi yang sama yaitu untuk mengcopy dan meresize gambar.

Bedanya adalah Imagecopyresized hanya mengecilkan/membesarkan ukuran saja, sedangkan Imagecopyresampled, disamping mengecilkan/membesarkan ukuran, juga secara proporsional mengatur pixel dan warna, sehingga hasil lebih bagus dan kualitas gambar tetap dipertahankan.

Imagecopyresized berjalan di semua versi PHP 4, PHP 5
Imagecopyresampled berjalan di PHP >= 4.0.6, PHP 5

Jika anda menggunakan fungsi ini, alangkah baiknya menggunakan yang Imagecopyresampled, sesuai dengan anjuran PHP.net

Berikut contoh penggunaan Imagecopyresampled dalam meresize ukuran gambar JPG menjadi 50%.
Quick Code


< ?php
// The file
$filename = 'test.jpg';
$percent = 0.5;
 
// Content type
header('Content-type: image/jpeg');
 
// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;
 
// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
 
// Output
imagejpeg($image_p, null, 100);
/*
source : php manual
*/
?>

Selamat mencicipi… :D

Posted in PHPComments (0)

Tags: , , ,

Mendeteksi type dan ukuran dalam mengupload gambar PHP (Part 2)


2. Mendeteksi type dan ukuran gambar

Ini adalah kelanjutan tulisan yang pertama yaitu tentang Mengupload gambar dengan PHP, langsung saja silahkan ikuti langkah a b c dst di bawah ini :

a. Buat file upload_dua.php
Quick Code


<form enctype="multipart/form-data" action="upload_satu_proses.php" method="POST">
<!-- in Byte >
    <input type="hidden" name="MAX_FILE_SIZE" value="100000" /--/>
    Upload file gambar: <input name="foto" type="file" />
    <input type="submit" value="Proses Upload" />
</form>

bedanya dengan upload_satu.php adalah disini tidak pakai variable MAX_FILE_SIZE, karena akan kita tentukan di proses di bawah ini.

b. Buat file upload_dua_proses.php
Quick Code


 
< ?php
//konfigurasi file gambar
$typeGambar=array('image/jpg', 'image/jpeg', 'image/png', 'image/gif');//type gambar yg di ijinkan
$ukuranMin = 0; //ukuran minimum, dlm byte
$ukuranMax = 100000; //ukuran maximum, dlm byte
$folder = './foto_user/'; //folder dimana file akan di letakkan
 
function cekType($fileFoto,$typeGambar) {
    $typeFile = strtolower($fileFoto[type]);
  if(in_array($typeFile,$typeGambar)) {
    return true;
  } else {
    return false;
  }
}
function cekUkuran($fileFoto,$ukuranMin,$ukuranMax) {
  if($fileFoto[size] > $ukuranMin AND $fileFoto[size] < $ukuranMax) {
     return true;
  } else {
     return false;
  }
}
function tujuanUpload($fileFoto,$folder){
$fileTujuan = $folder.$fileFoto['name'];
  if(file_exists($fileTujuan)) { //jika nama file sudah ada, rename sesuai dengan urutan
    $i=0;
      while (file_exists($fileTujuan)) {
         $fileTujuan = $folder.$i.'_'.$fileFoto['name'];
         $i++;
      }
  }
return $fileTujuan;
}
function uploadFoto($fileFoto,$tujuanUpload) {
    if (@move_uploaded_file($fileFoto['tmp_name'], $tujuanUpload)) {
     echo 'Upload Sukses<br>';//sukses
    }  else {
     echo 'Upload gagal<br />';//upload gagal
    }
}
 
$fileFoto = $_FILES[foto];//mengambil nilai file gambar
$cekType  = cekType($fileFoto,$typeGambar);//cek type file
$cekUkuran= cekUkuran($fileFoto,$ukuranMin,$ukuranMax);//cek ukuran file
 
if($cekType) {
   if($cekUkuran) {
   $tujuanUpload = tujuanUpload($fileFoto,$folder);//cek file tujuan upload,
   $prosesUpload = uploadFoto($fileFoto,$tujuanUpload);//proses upload
   } else {
   echo 'Ukuran gambar tidak diijinkan';
  }
} else {
  echo 'Type gambar tidak diijinkan';
}
echo '<br />';
echo 'Klik <a href="upload_dua.php">disini</a> untuk kembali';
?>

Anda dapat mengubah nilai pada 4 baris konfigurasi upload file gambar diatas, sesuai keinginan anda.

Keterangan kode sudah ada di listing di atas, jadi tak usah dijelaskan.

c. Jalankan upload_dua.php
Jika error maka anda sekali lagi tidak beruntung. lha wong disini jalan dengan baik :D

Tambahan : kode di bawah ini merupakan keterangan lain yang mungkin dapat dijadikan pendukung pemahaman anda.
Quick Code


< ?php
/*
$_FILES[foto] //mengambil nilai file gambar, bentuknya array
$_FILES[foto][type] =>> type dari file jika gambar akan berbentuk 'image/jpg','image/jpeg','image/png','image/gif'
$_FILES[foto][size] =>> ukuran dari file, dalam bentuk byte
$_FILES[foto][name]=>> nama dari file
$_FILES[foto][error] =>> error dari file, akan mengembalikan kode error, dijelaskan di bawah ini
jika $_FILES[foto]  dimasukkan dalam variabel $fileFoto, maka akan menjadi
$fileFoto = $_FILES[foto]
$fileFoto[type]
$fileFoto[size]
$fileFoto[name]
$fileFoto[error]

      switch ($fileFoto['error']) { //dapatkan informasi error
                     case 1:
       echo 'Besar file tidak diijinkan server';
    break;
    case 2:
       echo 'Besar file tidak diijinkan dari form'; // dari MAX_FILE_SIZE yang di definisikan di form
    break;
    case 3:
       echo 'File tidak sempurna di upload/file corupted';
    break;
    case 4:
       echo 'Tidak ada file yang di upload/file tidak ada';
    break;
    case 6:
       echo 'Tidak ada temp folder/ missing temporary folder';
    break;
    case 7:
       echo 'Gagal untuk memasukkan file/ problem file permission';
    break;
    case 8:
       echo 'Upload di hentikan karena ekstensi';
    break;
      }
*/
?>

Selanjutnya untuk Meresize gambar sesuai yang kita inginkan dengan PHP, akan saya tulis dalam episode berikutnya.

Semoga berguna yach…

Posted in PHPComments (4)

  • Popular
  • Comments
  • Tags
  • Subscribe
Advertise Here

Category

Tag Cloud