Di tutorial PHP " Upload Gambar Dengan PHP" ini akan dipaparkan cara mengupload file menggunakan PHP. Tutorial ini mencakup cara penggunaan element input file, mengatur atribut html form agar file bisa ter-upload, membuat script php untuk menangani file yang diupload.
Untuk meng-upload file digunakan element input file. Agar file bisa ter-upload maka pada form HTML harus ditambahkan atribut enctype="multipart/form-data" dan menggunakan method POST (method="post"). Form html untuk meng-upload file akan terlihat seperti di bawah:
<!--form to upload file--> <form name="formupload" method="post" enctype="multipart/form-data" action="script/to/upload/file.php"> Picture : <input name="picture" type="file" /> <input type="submit" name="upload" value="Upload" /> </form>
Di asumsikan anda akan mengupload file ke directory /photo, dimana directory /photo ini berada pada root webserver anda.
Buatlah sebuah file baru menggunakan text editor dan buat sebuah html form seperti berikut:
Script:
<!--file picture.html--> <form name="form_upload" method="post" action="upload.php" enctype="multipart/form-data"> Picture: <input type="file" name="picture" /> <input type="submit" name="upload" value="Upload" /> </form>
Simpan dengan nama picture.html dan letakkan di directory yang sama (sejajar) dengan folder /photo.
Kemudian buat file baru dan ketik script php di bawah:
<?php //file upload.php $fileName = $_FILES['picture']['name']; $fileSize = $_FILES['picture']['size']; $fileError = $_FILES['picture']['error']; if($fileSize > 0 || $fileError == 0){ $move = move_uploaded_file($_FILES['picture']['tmp_name'], 'photo/'.$fileName); if($move){ echo "File sudah diupload"; }else{ echo "Gagal mengupload file"; } }else{ echo "Gagal mengupload file: ".$fileError; } ?>
simpan dengan nama upload.php directory yang sama (sejajar) dengan folder /photo. Anda akan memiliki struktur folder dan file seperti berikut:
Anda dapat mengetahui informasi file yang diupload dari global variable $_FILES yang berupa associated array. Jika anda memiliki sebuah input file dengan atribut name="picture" (script picture.html baris ke 3) maka anda dapat mengakses informasi file yang diupload di variabel $_FILES['picture']. $_FILES['picture'] adalah associated array dengan struktur sebagai berikut:
Catatan:
HTML form anda harus memiliki atribut enctype="multipart/form-data" agar file mau ter-upload.