Last Updated on October 2, 2021 by
Pada artikel sebelumnya, Anda telah mempelajari tentang fungsi fopen pada PHP. Kali ini, Codekey akan membahas tentang upload file PHP. Terkadang, saat bekerja dengan PHP Anda harus langsung mengunggah file ke server. PHP memiliki fungsi bawaan yang berguna untuk itu.
Proses upload file di PHP pun memiliki beberapa ketentuan, bukan sembarang upload. Selama proses unggah file PHP, tetapkan batasan jenis file apa yang diizinkan dalam kode Anda, dan tentukan kapan file terlalu besar. Semua yang disimpan kode Anda mungkin disebut $_FILES. Variabel superglobal ini adalah larik yang berisi semua data pada file yang Anda unggah.
Jika Anda tertarik dengan pembahasan tentang file upload PHP, simak terus artikel ini sampai akhir.
Table of Contents
File Upload PHP : Penjelasan
Skrip PHP dapat digunakan dengan formulir HTML untuk memungkinkan pengguna mengunggah file ke server. Awalnya file diunggah ke direktori sementara dan kemudian dipindahkan ke tujuan target dengan skrip PHP. Informasi di halaman phpinfo.php menjelaskan direktori sementara yang digunakan untuk mengunggah file sebagai upload_tmp_dir dan ukuran maksimum file yang dapat diunggah dinyatakan sebagai upload_max_filesize.
PHP file upload memungkinkan pengguna untuk mengunggah file teks dan biner. Saat Anda menggunakan PHP, proses upload file di PHP akan memerlukan izin. Untuk mengunggah file dengan cara tertentu, Anda dapat mengatur batasan. Array asosiatif dari semua file yang diunggah ke skrip disebut PHP $_files.
Proses file upload PHP mengikuti langkah-langkah berikut ini:
- Pengguna membuka halaman yang berisi formulir HTML yang menampilkan file teks, tombol telusuri, dan tombol kirim.
- Pengguna mengklik tombol telusuri dan memilih file untuk diunggah dari PC lokal.
- Path lengkap ke file yang dipilih muncul di teks yang diajukan kemudian pengguna mengklik tombol kirim.
- File yang dipilih dikirim ke direktori sementara di server.
- Skrip PHP yang ditentukan sebagai pengendali formulir di atribut tindakan formulir memeriksa apakah file telah tiba dan kemudian menyalin file ke direktori yang dimaksud.
- Skrip PHP mengkonfirmasi keberhasilan kepada pengguna.
- Seperti biasa saat menulis file, lokasi sementara dan akhir perlu memiliki izin yang ditetapkan yang memungkinkan penulisan file. Jika salah satunya diatur menjadi read-only maka proses akan gagal.
- File yang diunggah bisa berupa file teks atau file gambar atau dokumen apa pun.
Configuring php
Jika kita ingin membuat file upload PHP, kita harus memiliki izin. Jika tidak, kita harus mengatur PHP untuk mengizinkannya. Untuk mencapainya, kita edit file bernama php.ini dan ubah nilai file_uploads menjadi On seperti contoh berikut:
file_uploads = On
Creating HTML Form
Setelah kami menyiapkan izin untuk memulai pengunggahan file PHP, kami dapat membuat formulir HTML untuk proses upload file di PHP:
Untuk mengunggah file PHP menggunakan formulir ini secara efektif, ingat beberapa hal:
- Saat mengunggah file melalui formulir HTML, kita harus menggunakan metode posting yang kita tetapkan ke elemen formulir sebagai atribut.
- Kita juga harus menetapkan enctype=”multipart/form-data” di antara atributnya. Ini memungkinkan browser untuk mengidentifikasi jenis penyandian agar PHP mengunggah file dengan benar.
- Catatan: atribut type=”file” dari elemen <input> menampilkan bidang input sebagai kontrol pemilihan file di sebelah tombol Browse.
Upload Script
Berikut ini adalah kode dari proses upload file di PHP di dalam file upload.php:
Mari kita uraikan contoh dan pastikan kita memahami setiap langkah:
- $dir = “uploads/” memberitahu server tempat meletakkan file yang diupload. $_files PHP adalah larik yang menyimpan file yang diunggah ke kode menggunakan metode POST.
- $file mendeklarasikan path ke file yang ingin Anda unggah.
- $status=1 tidak akan langsung digunakan. Ini menentukan apakah unggahan berhasil.
- $file_type menyimpan ekstensi file.
- Terakhir, kita harus memeriksa apakah file tersebut valid.
Catatan: direktori baru bernama upload harus dibuat di jalur tempat file upload.php ditempatkan. File yang diunggah akan ditempatkan di sana.
Memeriksa apabila file sudah ada
Pada tahap ini, kita akan menambahkan batasan ke dalam form. Pertama, periksa apakah file yang kita unggah belum ada di direktori unggahan kita. Jika ya, $status disetel ke 0:
if (file_exists($file)) { echo "File sudah ada!"; $status = 0; }
Mengatur Batasan
Ukuran File
Pada tahap ini kita akan mendeklarasikan bidang bernama file di formulir kami. Sekarang, kita harus memeriksa ukuran file. Jika ukuran file melebihi 800 kilobytes (yang merupakan nilai yang kami siapkan), kesalahan akan dipicu. $status kemudian akan disetel ke 0:
if ($_FILES["file_to_upload"]["size"] > 800000) { echo "Ukuran file terlalu besar!"; $status = 0; }
Jenis File
Mari kita lihat contoh di bawah ini. Anda akan melihatnya membatasi pengunggahan file PHP hanya untuk jenis file tertentu. Yang diizinkan harus memiliki ekstensi JPG, JPEG, PNG, atau GIF. Jika file tidak cocok dengan jenis yang ditentukan, kesalahan akan ditangkap dan $status disetel ke 0:
if($file_type != "gif" && $file_type != "jpg" && $file_type != "jpeg" && $file_type != "png") { echo "Hanya file JPG, JPEG, PNG & GIF yang dapat diunggah"; $status = 0; }
Skrip untuk Proses upload file di PHP
Ini dia final script yang akan Anda lihat apabila berhasil menyelesaikannya.
<?php $dir = "uploads/"; $file = $dir . basename($_FILES["file_to_upload"]["name"]); $status = 1; $file_type = pathinfo($file,PATHINFO_EXTENSION); if(isset($_POST["submit"])) { $check = getimagesize($_FILES["file_to_upload"]["tmp_name"]); if($check !== false) { echo "File yang kamu unggah adalah gambar - " . $check["mime"] . "."; $status = 1; } else { echo "File yang kamu unggah bukanlah gambar"; $status = 0; } } if (file_exists($file)) { echo "File sudah ada!"; $status = 0; } if ($_FILES["file_to_upload"]["size"] > 800000) { echo "Ukuran file terlalu besar"; $status = 0; } if($file_type != "jpg" && $file_type != "png" && $file_type != "jpeg" && $file_type != "gif" ) { echo " Hanya file JPG, JPEG, PNG & GIF yang dapat diunggah "; $status = 0; } if ($status == 0) { echo "File anda tidak berhasil untuk diunggah!"; } else { if (move_uploaded_file($_FILES["file_to_upload"]["tmp_name"], $file)) { echo "File ". basename( $_FILES["file_to_upload"]["name"]). " telah diunggah"; } else { echo "Proses unggah file gagal!"; } } ?>
Itulah penjelasan seputar file upload PHP. Anda dapat mengunggah file teks dan biner ke skrip Anda. Jika Anda ingin membatasi pengunggahan file, Anda dapat mengatur batasan tertentu. File yang diunggah ke kode PHP Anda terkandung dalam array asosiatif yang disebut PHP $_files.
Jika Anda tertarik dengan pembahasan tentang pembahasan tentang PHP. Jangan lupa untuk kunjungi, https://codekey.id. Codekey adalah media untuk Anda belajar berbagai bahasa pemrograman mulai dari yang mudah sampai tingkat sulit sekalipun karena materi dan tutorial yang kami berikan dapat lebih mudah dipahami. Nyalakan notifikasi dari website kami agar Anda tidak ketinggalan perkembangan berita terbaru.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.