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 :
Gimana kalau akan upload lebih dari 1 file?
pada input file ditambah “multiple” dan di file upload.php tambah foreach
kurang lebih seperti postingan ini
https://dewankomputer.com/2019/03/27/cara-membuat-upload-multiple-image-dengan-ajax-dan-bootstrap-modal/
ok terimakasih banyak, saya coba belajar dulu ya.
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
mungkin maksudnya sama kaya ini mas
https://dewankomputer.com/2019/04/09/membuat-crud-expert-pencarian-dengan-jquery-ajax-bootstrap-modal-sweetalert-dan-wysihtml5-pada-php-part-2-action-simpan-preview-edit-hapus/
disitu jg ada function untuk membatasi tipe file yg bisa diupload
let _validFileExtensions = [“.jpg”, “.jpeg”, “.png”, “.gif”];
function validate(file) {
….
}
tinggal ganti _validFileExtensions sesuai yg diinginkan