ARI JULIANTO Network www.arijulianto.com

Oleh | PHP | | Dibaca 4.354 kali | 0 komentar

Di tutorial kali ini saya akan menjelaskan mengenai upload file dengan PHP. Upload disini adalah menyimpan file yang diambil dari lokal komputer ke web server atau hosting. Bahan dasar yang perlu dipahami dalam upload file adalah menggunakan <form> dengan atribut dasar seperti ini: <form action="filetarget" method="post" enctype="multipart/form-data">.

Hal pertama yang harus diperhatikan kalau form kita bekerja dengan upload file WAJIB hukumnya menyertakan attribut dan value enctype="multipart/form-data" pada form, karena dengan atribut inilah file yang kita upload jadi bisa dibaca oleh PHP. Hal lain yang tidak kalah penting adalah kita memahami skema PATH atau struktur direktori. Baiklah kita lihat pada contoh berikut!

File: upload.html

<form method="post" action="upload.php">
File: <input type="file" name="file" />
<input type="submit" name="submit" value="Upload" />
</form>

File: upload.php

<?php
// Contoh 1: upload file ke folder satu lokasi dengan file upload.html
if(isset($_POST['submit']) && $_FILES['file']['size']>0){
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>";
}

// Contoh 2: upload file ke atas folder (folder di atasnya)
if(isset($_POST['submit']) && $_FILES['file']['size']>0){
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>";
}

// Contoh 3: upload file ke sub folder (folder di bawahnya)
if(isset($_POST['submit']) && $_FILES['file']['size']>0){
if(move_uploaded_file($_FILES['file']['tmp_name'], "upload/".$_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>";
}

// Contoh 4: upload file folder lebih atas turun satu kali (sejajar folder utama)
if(isset($_POST['submit']) && $_FILES['file']['size']>0){
if(move_uploaded_file($_FILES['file']['tmp_name'], "../media/".$_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>";
}
?>

Contoh di atas gambarannya dapat dilihat pada ilustrasi di bawah ini.
Contoh 1: file yang diupload jadi satu lokasi dengan file upload.html dan upload.php (panah merah)
Contoh 2: file yang diupload disimpan ke atas folder file upload.html dan upload.php (panah biru)
Contoh 3: file yang diupload disimpan ke dalam sub folder (dalam hal ini target subfoldernya 'upload')
Contoh 4: file yang diupload disimpan ke folder yang sejajar dengan folder tempat file upload.html dan upload.php berada

Catatan: Yang ingin saya pesankan disini adalah, ada hal penting yang harus dipahami soal PATH location
kalau target upload file ke satu kali naik atas folder saat ini gunakan ../namafileupload
kalau target upload file ke dalam folder yang ada di dalam folder saat ini gunakan namafolder/namafileupload

Udah segitu dulu untuk upload file kali ini, kalau ada yang kurang silahkan berkomentar, lain kali akan saya update lagi kalo menemukan sesuatu yang baru