menu

Engine PHP - Upload image native code


Kembali lagi membuat engine PHP,

Pada tutorial kali ini kita akan membuat sebuah engine yang digunakan untuk upload image ke sebuah folder menggunakan native codenya php yang bisa dibilang code dasar.

Oke, langsung saja kita mulai tutorialnya,
Pertama, buat folder projectnya pada folder yang bisa diakses url localhost, dalam hal ini codedoct menggunakan OS windows dan server localhost XAMPP, misal kita beri nama project tersebut dengan nama test-upload_image.

Pada folder project tersebut kita buat file baru bernama index.php dan isikan code berikut,
<form action="save.php" method="post" enctype="multipart/form-data">
    <table width="100%">
        <tr>
            <td><input type="file" name="image"/></td>
        </tr>
        <tr>
            <td>Note: Supported image format: .jpeg, .jpg, .png</td>
        </tr>
    </table>
    <br>
    <input type="submit" value="Save"/>
</form>

Selanjutnya pada folder project tersebut kita buat juga file baru bernama save.php dan isikan code berikut,
<?php
 if(isset($_FILES['image'])){
  $errors  = array();
  $file_name  = $_FILES['image']['name'];
  $file_size  = $_FILES['image']['size'];
  $file_tmp  = $_FILES['image']['tmp_name'];
  $file_ext = strtolower(end(explode('.',$_FILES['image']['name'])));

  $extensions = array("jpeg","jpg","png");

  if(in_array($file_ext,$extensions)=== false){
   $errors[]="extension not allowed, please choose a JPEG or PNG file.";
  }

  if($file_size > 1024000){
   $errors[]='File size must be excately 1 MB';
  }

  if(empty($errors)==true){
   $filename = strtotime('now').'_'.$file_name;
   move_uploaded_file($file_tmp,"images/".$filename);
   echo "Success";
   ?><br><a href="/test/test-upload_image">Back</a><?php
  }else{
   print_r($errors);
   ?><br><a href="/test/test-upload_image">Back</a><?php
  }
    }
?>

Terakhir buat folder baru tempat meletakkan image yang diupload beri nama folder dengan nama images, sehingga struktur filenya akan tampak seperti ini,


Dan tampilan urlnya saat kita akses akan tampak seperti ini,


Untuk code yang versi rapinya menggunakan class dan function method lihat disini.

===DONE!===