Upload Gambar Dengan PHP

Feb 21, 2010 by MyPHPtutorials Level: Menengah Komentar Print

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.

Setting HTML Form

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>

Contoh Upload File dengan PHP

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:

Upload

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:

  • $_FILES['picture'] ['name']
    berisi nama file yang sedang diupload
  • $_FILES['picture']['type']
    mime type dari file yang sedang diupload, jika browser memberikan informasi ini. Contoh: image/gif, image/jpg
  • $_FILES['picture']['size']
    ukuran/size file yang diupload dalam byte
  • $_FILES['picture']['tmp_name']
    nama file temporer dari file yang sedang diupload yang disimpan di temporari folder server
  • $_FILES['picture']['error']
    error code yang berhubungan dengan file yang sedang diupload

Catatan:
HTML form anda harus memiliki atribut enctype="multipart/form-data"  agar file mau ter-upload.


Silahkan login atau register sebelum meninggalkan komentar.