Dasar File Upload dengan PHP

file upload php
Jika ingin membuat sebuah mekanisme pengunggah data umumnya kita menggunakan kode berikut:

<form action="" method="post" enctype="multipart/form-data">
  <input type="file" name="berkas" />
  <input type="submit" value="Upload" />
</form>

Simpan kode HTML di atas dengan nama upload.php, kemudian lihat hasilnya di browser.

Agar kode di atas agar dapat digunakan untuk meng-upload file maka tambahkan dengan script PHP berikut.

<?php
if(isset($_FILES&#91;'berkas'&#93;)) {
  move_uploaded_file($_FILES&#91;'berkas'&#93;&#91;'tmp_name'&#93;, "uploads/{$_FILES&#91;'berkas'&#93;&#91;'name'&#93;}");
}
?>

Letakkan kode tersebut setelah tag penutup html. Kemudian buatlah sebuah folder dengan nama “uploads” pada tempat yang sama script tersebut disimpan. Maka script sudah siap dicoba untuk meng-upload file yang akan diletakkan pada folder “uploads”.

Fungsi move_uploaded_file() digunakan untuk memindahkan file dari folder “temp” ke folder yang telah kita tentukan. Kemudian darimana saya mendapatkan kedua parameter tersebut? Untuk menjelaskan hal tersebut, lebih mudah jika kita langsung mempraktekannya.

Sekarang tuliskan kode dibawah ini untuk menggantikan fungsi move_uploaded_file() di atas, atau letakkan saja di bawahnya, tanpa menghapus fungsi tersebut.

print_r($_FILES);

Fungsi print_r($_FILES) akan menampilkan isi dari variable $_FILES. Lakukan upload file sekali lagi, maka selain meng-upload file ke server, browser akan menampilkan isi dari variable $_FILES.

Array
(
[berkas] => Array
(
[name] => Boston City Flow.jpg
[type] => image/jpeg
[tmp_name] => /tmp/php1UOmUg
[error] => 0
[size] => 339773
)
)

Pada contoh di atas terlihat variable $_FILES bertipe array. Untuk mengakses indeks “name” dengan menggunakan $_FILES['berkas']['name'], sedangkan untuk mengakses indeks “tmp_name” caranya sama, $_FILES['berkas']['tmp_name'].

Bersambung ke catatan berikutnya untuk meng-upload banyak file sekaligus menggunakan HTML5 dan PHP. Source code lengkap tutorial ini ada di bawah. Kalau ada pertanyaan, silakan tinggalkan komentar.

<!DOCTYPE html>
<html>
  <head>
    <title>upload file</title>
    <meta charset="utf-8">
  </head>
  <body>
    <div>
      <form action="" method="post" enctype="multipart/form-data">
        <p>
        <input type="file" name="berkas" />
        <input type="submit" value="Upload" />
        </p>
      </form>
    </div>
  </body>
</html>
 
<pre>
<?php
if(isset($_FILES&#91;'berkas'&#93;)) {
  move_uploaded_file($_FILES&#91;'berkas'&#93;&#91;'tmp_name'&#93;, "uploads/{$_FILES&#91;'berkas'&#93;&#91;'name'&#93;}");
  print_r($_FILES);
}
?>

Catatan: Tulisan ini juga pernah diterbitkan di sini. Saya terbitkan kembali karena saya berencana membuat catatan berseri.

About Sibudi

Ubuntu user | Loves books | Blogger | Web Developer | Learn PHP, JavaScript, Ruby & Python the hard way

20. October 2011 by Sibudi
Categories: PHP | Tags: , , | 6 comments

Comments (6)

  1. Pingback: Multiple File Upload dengan PHP dan HTML5 | Sibudi's Blog { }

  2. mantap catatannya bro

  3. Pingback: Validasi File Upload di PHP | Sibudi </>

  4. terimakasih informasinya , sangat membantu saya dalam belajar php
    terimakasih 🙂

  5. nice info gan,,,mohon ada contoh file yang bisa di download…agar lebih bisa dipahami…thx gan,,

  6. It’s really a great and helpful piece of info.
    I am happy that you shared this useful information with us.
    Please stay us up to date like this. Thank you for sharing.

Leave a Reply to Rina Rohma Febriana Cancel reply

Required fields are marked *