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.