OK.. pada tutorial kali ini admin akan menjelaskan Tutorial Dasar Upload File dengan PHP , Baik itu upload gambar, upload file pdf dll, dasarnya akan kita bahas disini, Untuk upload gambar di database sebelumnya admin sudah bahas pada artikel Script PHP upload dan Simpan gambar di database mysql , dan utnuk membuat validasi gambar juga sudah admin bahas di artikel Validasi Upload Type Image and Size Image dan Validasi Upload Gambar dengan HTML5 , nah.. artikel ini kita akan mengulang kembali bagaimana dasar membuat upload dengan php
Cara Dasar Membuat Upload File / Gambar dengan PHP
Berikut ini kita akan membahas dasar upload file / gambar tanpa database, yang harus diperhatikan dalam membuat upload file dasar ialah,
1. Dalam Form harus ada properti enctype="multipart/form-data" , atribut tersebut paling penting tidak boleh tidak ada.. contoh penggunaanya <form action="filetarget" method="post" enctype="multipart/form-data">
2. Pada bagian script PHP, kita bisa melihat beberapa fungsi $_FILES yang bisa kita gunakan dalam proses Upload file, diantaranya :
$_FILES['file']['type'] => Fungsi ini digunakan untuk mengetahui jenis file yang di upload
$_FILES['file']['name'] => Fungsi ini digunakan untuk mengetahui nama file yang di upload
$_FILES['file']['size'] => Fungsi ini digunakan untuk mengetahui ukuran file yang di upload
Nah Untuk yang lain,, silahkan buat struktur folder seperti dibawah ini
Code upload.php
<form method="post" action="proses.php" enctype="multipart/form-data">.File: <input type="file" name="file" />
<input type="submit" name="submit" value="Upload" />
</form>
proses.php
<?phpif(move_uploaded_file($_FILES['file']['tmp_name'],"images/". $_FILES['file']['name']))
echo "Upload file berhasil...<br>
Nama file: {$_FILES['file']['name']}<br>
Ukuran: {$_FILES['file']['size']} byte";
else
echo "Upload file gagal...<br><a href=\"upload.html\">Kembali</a>";
?>
perbandingan jika tidak ingin menyimpan gambar di dalam folder images , perhatikan contoh berikut
<?php//jika tidak ingin disimpan kedalam folder
if(move_uploaded_file($_FILES['file']['tmp_name'], $_FILES['file']['name']))
echo "Upload file berhasil...<br>
Nama file: {$_FILES['file']['name']}<br>
Ukuran: {$_FILES['file']['size']} byte";
else
echo "Upload file gagal...<br><a href=\"upload.html\">Kembali</a>";
?>
Nah , sudah paham kan.. bagaimana upload file dengan php dan menyimpan ke dalam folder....??? , untuk lebih paham lagi, perhatikan contoh dibawah ini
Dalam artikel ini, saya akan menjelaskan tata cara upload file di dalam PHP. Pertama, kita akan membahas opsi konfigurasi PHP yang harus setting agar bisa mengupload file. Setelah itu, kita baru melangkah ke tahap cara mengupload filenya.
Konfigurasi Pengaturan PHP.ini
Ada beberapa pengaturan konfigurasi PHP yang harus anda cek terlebih dahulu untuk dapat mengupload file. Pada bagian ini, kita akan membahas setiap opsi yang penting terkait upload file PHP. Opsi-opsi ini dapat dikonfigurasi dalam file php.ini atau biasanya ada dalam format php.ini-development
Berikut ini adalah konfigurasi php.ini yang harus anda terapkan :
Penjelasan :
file_uploads
Value dari file_uploadsdirective harus disetel ke On untuk memungkinkan upload file. Nilai default dari direktif ini adalah On.
upload_max_filesize
Directory Upload_max_filesize memungkinkan Anda untuk mengkonfigurasi ukuran maksimum file yang akan diupload. Secara default, pengaturan ini di set ke 2M (dua megabyte). Ukuran upload 2M merupakan ukuran yang kecil bagi sebagian besar website, jadi anda mungkin perlu meningkatkan pengaturan tersebut setidaknya hingga 20 MB
upload_tmp_dir
Menetapkan direktori atau folder sementara yang akan digunakan untuk menyimpan file yang diupload.
post_max_size
memungkinkan Anda untuk mengkonfigurasi ukuran maksimum data POST. Karena file diunggah dengan permintaan POST, nilai ini harus lebih besar dari yang Anda tetapkan untuk perintah upload_max_filesize. Misalnya, jika upload_max_filesize Anda 16M (16 megabyte), maka ada harus meng set post_max_size menjadi 20MB.
max_file_uploads
memungkinkan Anda untuk mengatur jumlah maksimum file yang dapat diunggah pada suatu waktu.
max_input_time
jumlah maksimum waktu input file yang diizinkan untuk mengurai input data. Anda harus menetapkannya ke value yang wajar jika Anda ingin mengupload file dengan size yang besar.
memory_limit
memory_limit menunjukkan jumlah maksimum memori yang dapat dikonsumsi script. Jika Anda menghadapi masalah saat mengunggah file dengan size besar, Anda harus memastikan bahwa nilai dari direktif ini lebih besar dari yang Anda tetapkan pada bagian post_max_size .
max_execution_time
Jumlah maksimum detik script diizinkan untuk dijalankan. Jika Anda menghadapi masalah saat mengunggah file besar, Anda dapat mempertimbangkan untuk meningkatkan nilai ini. 30 (30 detik) seharusnya berfungsi dengan baik untuk sebagian besar aplikasi.
Sekarang mari kita melagkah ke tahap cara mengupload file di PHP
Membuat Form HTML
Setelah anda selesai mengkonfigurasi php.ini. Saatnya kita melangkah ke tahap berikutnya yakni membuat dua file PHP: index.php dan upload.php. File index.php berisi kode yang bertanggung jawab untuk menampilkan form upload file. Di sisi lain, file upload.php bertanggung jawab untuk mengunggah file ke server.
Berikut ini adalah contoh index.php :
Dan inilah tampilan form HTML diatas :
Membuat Logika Upload File
Di bagian sebelumnya, kita sudah membuat form HTML yang ditampilkan di sisi pengguna dan memungkinkan baik anda maupun mereka untuk mengunggah file. Di bagian ini, kita akan membuat logika pemrograman cara file tersebut diupload dan disimpan. Sebelum membuat logika upload file, kita buat terlebih dahulu folder untuk menyimpan file tersebut didalam folder test yang ada di Htdocs XAMPP. Untuk contoh saya membuat folder dengan nama uploaded_files
Baca Juga: Jenis Jenis Framework Terbaik 2020
Apabila anda sudah selesai membuat foldernya. Waktunya kita membuat file upload.php untuk memuat logika upload nya. Berikut ini contoh nya :
Sekarang waktunya kita mencoba upload file foto pada form HTML yang sudah kita buat
Kita akan mencoba file dengan nama download dan berektensi PNG.
Jika berhasil, maka akan muncul pesan File is succesfully uploaded. File tersebut disimpan pada folder “uploaded_files” yang sudah kita buat tadi.