Cara Membuat Upload File pada PHP dengan Mudah

Cara Membuat Upload File pada PHP dengan Mudah – Hai sobat ketemu lagi dengan saya dewan komputer dan pada kesempatan kali ini saya akan memposting tentang cara mengupload file atau gambar dengan mudah. Cara yang akan saya contohkan pada postingan ini merupakan cara standar yang paling mudah untuk mengupload file baik file word, pdf, excel maupun file gambar. Pada setiap aplikasi pasti membutuhkan file upload nantinya dan ini memang sudah standar. Namun jika sobat belum pernah membuatnya pasti bingung oleh karena itu saya akan memberikan tutorialnya sekarang. Untuk selanjutnya nanti akan saya berikan juga tutorial untuk upload file atau gambar menggunakan ajax tanpa loading. Dengan ajax kita juga bisa menambahkan progress bar saat upload.

Selain upload gambar dengan cara standar, nanti juga akan saya berikan contoh untuk membuat validasi hanya file tertentu saja yang diperbolehkan menggunakan javascript jadi pada saat kita memilih file kita akan langsung melakukan pengecekan, bukan setelah kita klik submit. Caranya adalah sebagai berikut :

1. Pertama yaitu buat file uploadnya, saya buat standar yaitu seperti kode dibawah

<form action="upload.php" method="POST" enctype="multipart/form-data">
	<div class="form-group">
		<label>File Upload</label>
		<input type="file" name="fileupload" id="fileupload" class="form-control" />
	</div>
	<div class="form-group">
		<input type="submit" name="upload" id="upload" value="Upload" class="btn btn-info mt-3" />
	</div>
</form>

Jika form ingin ditambahkan dengan file upload perlu sobat ketahui hal yang wajib ada yaitu sobat menambahkan kode enctype=”multipart/form-data”. Jika tidak ada kode tersebut maka file upload tidak akan berhasil.

 

2. pada kode diatas tertulis action=”upload.php” yang artinya sobat harus membuat file upload.php yang berfungsi untuk menuliskan action dari upload file kemudian isikan upload.php dengan script dibawah ini

<?php
  if(isset($_POST["upload"]))
  {
      $temp = "upload/";
      if (!file_exists($temp))
        mkdir($temp);

      $fileupload      = $_FILES['fileupload']['tmp_name'];
      $ImageName       = $_FILES['fileupload']['name'];
      $ImageType       = $_FILES['fileupload']['type'];

      if (!empty($fileupload)){
        // mengacak angka untuk nama file
        $acak = rand(00000000, 99999999);

        $ImageExt       = substr($ImageName, strrpos($ImageName, '.'));
        $ImageExt       = str_replace('.','',$ImageExt); // Extension
        $ImageName      = preg_replace("/\.[^.\s]{3,4}$/", "", $ImageName);
        $NewImageName   = $acak.'.'.$ImageExt;

        move_uploaded_file($_FILES["fileupload"]["tmp_name"], $temp.$NewImageName); // Menyimpan file

        echo "<script>alert('Berhasil diupload'); location='index.php'</script>";
      }
  }
?>

Pada kode dibawah berfungsi untuk membuat folder upload yang ditempatkan pada folder project sobat. Atau sebenarnya sobat bisa membuatnya terlebih dahulu.

$temp = "upload/";
if (!file_exists($temp))
  mkdir($temp);

Pada kode dibawah berfungsi untuk membuat nama file menjadi acak. Disini selain upload file/gambar, kita juga merename nama file yang fiupload. Dan sebelum disimpan kita membuat nama file menjadi angka acak.

$acak = rand(00000000, 99999999);

Pada bagian dibawah ini merupakan bagian utama yang artinya memindahkan filenya ke file upload

move_uploaded_file($_FILES["fileupload"]["tmp_name"], $temp.$NewImageName);

Jika sobat jalankan project sobat pasti nanti hasilnya akan seperti gambar dibawah

Dan jika sobat sudah memilih file dan klik upload maka secara otomatis akan muncul folder upload (jika sobat belum membuatnya) dan di dalamnya akan terisi file yang sobat upload tadi dengan nama yang baru. Karena tentunya jika menggunakan nama yang sama nanti akan sangat menyusahkan sobat karena user bisa memberikan nama apa saja dan tentunya menggunakan spasi. Untuk penampakan file yang telah terupload adalah sebagai berikut

Cara Membatasi Ekstensi pada File Upload

Setelah berhasil mengupload filenya. Selanjutnya kita belajar untuk membuat validasi hanya file tertentu saja yang bisa diupload dan penting kita membuat validasinya saat kita memilih filenya langsung. Terkadang ada yang membuat validasnya saat file sudah disubmit dan itu kurang efektif menurut saya jadi saya berikan validasinya jika kita memilih file yang tidak diperbolehkan maka akan langsung muncul peringatan. Cara penggunaannya adalah menambahkan tag <script> pada tag <body> paling bawah dengan kode dibawah ini

<script>
      var _validFileExtensions = [".pdf", ".xlsx"];    
      function validate(file) {
	      if (file.type == "file") {
	          var sFileName = file.value;
	           if (sFileName.length > 0) {
	              var blnValid = false;
	              for (var j = 0; j < _validFileExtensions.length; j++) {
	                  var sCurExtension = _validFileExtensions[j];
	                  if (sFileName.substr(sFileName.length - sCurExtension.length, sCurExtension.length).toLowerCase() == sCurExtension.toLowerCase()) {
	                      blnValid = true;
	                      break;
	                  }
	              }
	               
	              if (!blnValid) {
	                  alert("Maaf Hanya Boleh File yang Berextensi : " + _validFileExtensions.join(", "));
	                  file.value = "";
	                  return false;
	              }
	          }
	      }
	      return true;
	  }
  </script>

Kemudian kita tambahkan sedikit kode pada input file untuk memanggil function yang sudah kita buat dengan onchange=”validate(this);” menjadi seperti dibawah

<div class="form-group">
	<label>File Upload</label>
	<input type="file" name="fileupload" id="fileupload" onchange="validate(this);" class="form-control" />
</div>

Pada contoh diatas saya hanya memperbolehkan file dengan ekstensi .pdf dan .xlsx. Sobat bisa mengganti, mengurangi atau menambahkan sesuai kebutuhan sobat. Jika sobat upload file yang bukan ber ekstensi .pdf dan .xlsx maka akan muncul peringatan seperti dibawah

 

Jika semua sudah benar maka file upload akan berjalan dengan mulus. Sekian postingan saja tentang Cara Membuat Upload File pada PHP dengan Mudah. Cara diatas merupakan cara paling standar dalam mengupload file pada PHP. Nanti akan saya posting juga cara mengupload menggunakan Ajax dan juga cara menambahkan progressbar dari file yang sedang diupload. Selain itu juga akan saya contohkan penggunaannya pada form bersama dengan input text dan menyimpannya pada database. Ada juga multiple file upload dan masih banyak lagi.

Baca juga :

Cara membuat Crop and Upload Menggunakan Ajax pada PHP

Cara Mengupload dengan Hapus Gambar menggunakan Ajax dan PHP

Cara Upload Gambar dari URL Menggunakan Ajax dan PHP

Cara Mengupload File dengan Ajax Tanpa Loading pada PHP

Cara Membuat Upload File Dengan Progressbar Menggunakan Ajax pada PHP

CRUD (Create, Read, Update, Delete) Dengan Ajax Tanpa Loading PHP

Membuat Upload dan Resize/Compress Gambar denga Ajax pada PHP

Cara Membuat Upload dan Ekstrak Zip pada PHP

Cara Membuat Upload Multiple Image dengan Ajax dan Bootstrap Modal

 

Jika sobat ingin mendownload tutorial diatas maka sobat bisa klik link dibawah ini :

Sampai jumpa pada postingan saya selanjutnya..

11 thoughts on “Cara Membuat Upload File pada PHP dengan Mudah

  1. bang gmna cara buat php dalam satu halaman itu bisa membuat file uploads tanpa harus di pisah berbagai file,
    btw cara buat form uploads php tpi hanya memnerima html gmna ya bang
    #respon bang

Leave a Reply

Your email address will not be published. Required fields are marked *

fifteen + eighteen =