Saturday, May 13, 2017

Tutorial File Upload di PHP

Skript PHP dapat digunakan dengan bentuk HTML untuk memungkinkan user upload file ke server. Awalnya file di upload ke temporary direktory dan di lanjutkan ke tujuan selanjutnya menggunakan Script PHP

Informasi du halaman phpinfo.php menjelaskan temporary directory yang digunakan untuk menggugah file sebagai upload_tmp_dir dan ukuran maksimum yang diizinkan dari file yang dapat diunggah dinyatayakn sebagai upload_max_filesize. Paramater ini diconfig ke dalam fie php.ini


Berikut adalah Proses dalam upload file di PHP

  1. User membuka halaman yang berisi bentuk HTML yang menampilkan file teks, tombol browse dan tombol kirim.
  2. User mengeklik tombol browse dan memilih file yang akan diunggah dari PC lokal.
  3. Path lengkap ke file yang dipilih muncul di teks yang diajukan maka pengguna mengklik tombol kirim.
  4. File yang dipilih dikirim ke direktori sementara di server.
  5. Script PHP yang ditentukan sebagai form handler dalam bentuk action attribute memeriksa apakah file telah tiba dan kemudian menyalin file ke direktori yang dimaksud.
  6. Script PHP mengkonfirmasikan keberhasilan upload file

Membuat form upload

Contoh HTML code dibawah ini untuk membuat form upload. Bentuk ini memiliki atribute yang di set Post dan di encrypt, di set ke multipart/form-data

Contoh form upload PHP
<?php
   if(isset($_FILES['image'])){
      $errors= array();
      $file_name = $_FILES['image']['name'];
      $file_size =$_FILES['image']['size'];
      $file_tmp =$_FILES['image']['tmp_name'];
      $file_type=$_FILES['image']['type'];
      $file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));
      
      $expensions= array("jpeg","jpg","png");
      
      if(in_array($file_ext,$expensions)=== false){
         $errors[]="extension not allowed, please choose a JPEG or PNG file.";
      }
      
      if($file_size > 2097152){
         $errors[]='File size must be excately 2 MB';
      }
      
      if(empty($errors)==true){
         move_uploaded_file($file_tmp,"images/".$file_name);
         echo "Success";
      }else{
         print_r($errors);
      }
   }
?>
<html>
   <body>
      
      <form action="" method="POST" enctype="multipart/form-data">
         <input type="file" name="image" />
         <input type="submit"/>
      </form>
      
   </body>
</html>

Hasil Outputnya akan menjadi seperti:
Upload Form

Membuat Script Upload

Ada satu variabel PHP global yang disebut $ _FILES. Variabel ini adalah kumpulan dimensi ganda asosiasi dan menyimpan semua informasi yang terkait dengan file yang diunggah. Jadi jika nilai yang diberikan ke atribut nama masukan dalam bentuk upload adalah file, maka PHP akan membuat lima variabel berikut

  1. $ _FILES ['file'] ['tmp_name'] - file yang diunggah di direktori sementara di server web.
  2. $ _FILES ['file']] ['name'] - nama dari file yang diupload
  3. $ _FILES ['file']] ['size'] - ukuran dalam byte dari file yang diupload
  4. $ _FILES ['file']] ['type'] - tipe MIME dari file yang diupload
  5. $ _FILES ['file']] ['error'] - kode kesalahan yang terkait dengan file ini


Contoh Script file upload PHP
<?php
   if(isset($_FILES['image'])){
      $errors= array();
      $file_name = $_FILES['image']['name'];
      $file_size = $_FILES['image']['size'];
      $file_tmp = $_FILES['image']['tmp_name'];
      $file_type = $_FILES['image']['type'];
      $file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));
      
      $expensions= array("jpeg","jpg","png");
      
      if(in_array($file_ext,$expensions)=== false){
         $errors[]="extension not allowed, please choose a JPEG or PNG file.";
      }
      
      if($file_size > 2097152) {
         $errors[]='File size must be excately 2 MB';
      }
      
      if(empty($errors)==true) {
         move_uploaded_file($file_tmp,"images/".$file_name);
         echo "Success";
      }else{
         print_r($errors);
      }
   }
?>
<html>
   <body>
      
      <form action = "" method = "POST" enctype = "multipart/form-data">
         <input type = "file" name = "image" />
         <input type = "submit"/>
   
         <ul>
            <li>Sent file: <?php echo $_FILES['image']['name'];  ?>
            <li>File size: <?php echo $_FILES['image']['size'];  ?>
            <li>File type: <?php echo $_FILES['image']['type'] ?>
         </ul>
   
      </form>
      
   </body>
</html>

Outputnya adalah:
Upload Script
Sumber: TutorialPoints.com


EmoticonEmoticon