Tag Archive | "cara upload gambar dengan php"

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: , , ,

Mengupload gambar dengan PHP (Part 1)


Pada bagian ini yang akan kita lakukan :
1. Mengupload file gambar dari drive local ke webserver
2. Mendeteksi type dan ukuran gambar
3. Meresize gambar sesuai yang kita inginkan
4. Mengupload lebih dari satu gambar sekaligus/multiple upload

1. Mengupload file gambar dari drive local ke webserver
Pertama, kita akan mengupload gambar dari local disk ke webserver :
a. buat file upload_satu.php
Quick Code


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

b. buat folder tempat penyimpanan file dengan nama foto_user

c. buat file upload_satu_proses.php
Quick Code


< ?php
function uploadFoto($fileFoto) {
$folder = './foto_user/';
$fileTujuan = $folder.$fileFoto['name'];
if (move_uploaded_file($fileFoto['tmp_name'], $fileTujuan)) {
    return true;
     } else {
    return false;
    }
}
 
$prosesUpload = uploadFoto($_FILES[foto]);
if ($prosesUpload) {
    echo 'upload sukses';
} else {
   echo 'upload gagal';
}
?>

d. Jalankan upload_satu.php

e. setelah dijalankan, coba lihat isinya didalam folder foto_user tadi.

Jika ada error berarti tidak sukses hehe..
ini hanya dasar upload file selanjutnya yang kedua ketiga dst akan saya tulis dalam posting berikutnya.

Posted in PHPComments (12)

  • Popular
  • Comments
  • Tags
  • Subscribe
Advertise Here

Category

Tag Cloud