Oleh: Rony Syahputra Nasution | April 17, 2009

Upload Data Sederhana Berbasis Web

Kemaren saya mendapatkan email dari seorang teman,
Eva Fathonah namanya, mahasiswi Teknik Informatika,
pada sebuah sekolah tinggi komputer di Cirebon.
Dia menanyakan tentang membuat fasilitas upload data menggunakan php.

Proses upload data digunakan untuk mengirimkan file/data,
dari si pengirim kepada media server yang digunakan,
baik local (intranet) maupun internet.
Salah satu media yang dapat digunakan dalam proses upload data,
adalah media web (web base).

File yang dapat digunakan dalam proses upload data beraneka ragam,
mulai dari gambar (image), excel, rar, zip dan sebagainya

Dalam proses Upload data kita juga dapat melakukan filter,
filter terhadap ukuran, jenis, type file atau sebagainya.

Banyak bahasa pemograman dan teknik yang bisa kita gunakan,
dalam menghadirkan sebuah fasilitas upload data ini.

Fasilitas Upload Data ini bisa kita buat sendiri,
atau menggunakan framework atau CMS yang tinggal pakai,
sesuai permintaan, kali ini kita akan menggunakan PHP,
yang kita buat sendiri.

Berikut ini hal yang perlu anda siapkan :
1. Buat sebuah folder pada Document Root, misal : UploadData.
2. Pada folder UploadData, buat sebuah folder lagi, misal : files.
3. Siapkan file FormUpload.php, sebagai User Interface.
4. Siapkan file ProsesUpload.php, sebagai pemproses.

Berikut ini, isi dari file FormUpload.php

<form enctype=”multipart/form-data” method=”post” action=”ProsesUpload.php”>
 File yang diupload :
  <input type=”file” name=”File” />
   <br />
 Deskripsi File :
   <br />
  <textarea name=”Deskripsi” rows=”8″ cols=”40″></textarea>
   <br />
  <input type=”submit” value=”Upload” />
</form>

Penjelasan singkat FormUpload.php :

Dalam file FormUpload.php terdapat sebuah form,
dengan properti enctype, method dan action.

enctype=”multipart/form-data” pada form,
digunakan jika kita melakukan, pengiriman file/upload data.

method=”post”,
berarti kita menggunakan teknik post,
pada proses pengiriman variabel dari form dimaksud.

action=”ProsesUpload.php”,
file yang dituju jika kita melakukan submit dari form dimaksud.

didalam form,
terdapat komponen bertype file, textarea dan submit.

 

Berikut ini, isi dari file ProsesUpload.php :

<?php
 $LokasiFile  = $_FILES[‘File’][‘tmp_name’];
 $NamaFile  = $_FILES[‘File’][‘name’];
 $UkuranFile  = $_FILES[‘File’][‘size’];
 
 $Direktori  = “files/$NamaFile”;
 
 if(move_uploaded_file($LokasiFile, “$Direktori”))
 {
  echo “Nama File : <b>$NamaFile</b> berhasil di upload<br>”;
  echo “Ukuran File : <b>$UkuranFile</b> bytes”;
 }
 else
 {
  echo “File gagal di upload”;
 }
?>

 

Penjelasan singkat ProsesUpload.php :

Langkah awal dari ProsesUpload.php,
adalah persiapan variabel yang diambil dari properti file yg diupload,

$_FILES[‘file’][‘tmp_name’];
digunakan pengambilan nilai untuk lokasi penyimpanan sementara.

$_FILES[‘file’][‘name’];
digunakan pengambilan nilai untuk nama file yang diupload.

$_FILES[‘file’][‘size’];
digunakan pengambilan nilai untuk ukuran file yang diupload.

file pada $_FILES[‘file’],
disesuaikan dengan nama input type file pada FormUpload.php.

$Direktori = “files/$NamaFile”;
adalah persiapan variabel untuk menentukan lokasi penyimpanan file,
(bukan lokasi penyimpanan sementara).

move_uploaded_file($LokasiFile, “$Direktori”)
adalah code untuk pengiriman file,
ke lokasi penyimpanan server.

Simpan Informasi File Upload Ke Database

Jika kita ingin melakukan penyimpanan terhadap informasi file,
ke dalam sebuah database,
kita bisa menambahkah script pada file ProsesUpload.php menjadi

<?php
 $LokasiFile  = $_FILES[‘File’][‘tmp_name’];
 $NamaFile  = $_FILES[‘File’][‘name’];
 $UkuranFile  = $_FILES[‘File’][‘size’];
 
 $Direktori  = “files/$NamaFile”;
 
 if(move_uploaded_file($LokasiFile, “$Direktori”))
 {
  echo “Nama File : <b>$NamaFile</b> berhasil di upload<br>”;
  echo “Ukuran File : <b>$UkuranFile</b> bytes”;
  
  // Masukan informasi file ke database
  mysql_connect(“localhost”, “master”, “master”);
  mysql_select_db(“db_upload”);
  $Input = “INSERT INTO  upload_file
     (nama_file,
     ukuran_file,
     deskripsi,
     direktori)
      VALUES
     (‘$NamaFile’,
      ‘$UkuranFile’,
      ‘$_POST[Deskripsi]’,
      ‘$Direktori’)”;

  mysql_query($Input);
 }
 else
 {
  echo “File gagal di upload”;
 }
?>

dan jangan lupa untuk mempersiapkan database, table dan fieldnya,
bisa kan ? ^_^ hehe,
disamping itu perhatikan juga hak akses ke database (host, user, password).

Kesalahan yang sering muncul,
1. Penulisan script ^_^ hehe.
2. Nama lokasi penyimpanan (files), biasanya selain OS windows, case sensitive.
3. Untuk OS Linux (unix), perhatikan hak akses folder (777).
4. Hak akses ke database.
5. Nama database dan table.
6. Nama field.
7. Nama varible.

Selamat mencoba, semoga bermanfaat,

 

Salam dari Cirebon,
Rony Syahputra N


Responses

  1. ups… tengkyu banget atas semuanya…
    ^-^.. bermanfaat tuk skripsiq…
    tengkyu…

  2. Kalau yang untuk web palication berbasis java ada nggak ?

    • setahu saya web application dengan java (JSP) tidak mempunyai fungsi built-in upload file seperti pada PHP.
      akan tetapi kita tetap bisa melakukan upload file dengan bantuan fungsi class MultipartRequest yang terdapat pada paket com.oreilly.servlet
      bisa di download di servlets.com

      atau anda bisa mengunjungi link
      http://www.servlets.com/cos/

      semoga bisa membantu.

  3. bagaimana cara mengapload file PHP ke server agar para pengguna internet bisa membuka web yang telah dibuat

    • idha, sebelumnya agar web yang telah kita buat dapat dibuka di internet, harus disiapkan domain (url/alamat web) dan hosting (space/harddisk yg dionline kan).

      sedangkan untuk upload file PHP (dan lainnya) dari komputer client (selain server online) bisa dengan menggunakan cPANEL atau FTP.

      Semoga bisa sedikit membantu, apabila ada yang ditanyakan, silakan, jangan sungkan2 ^_^

  4. Kesalahan yang sering muncul,
    point 3.Untuk OS Linux (unix), perhatikan hak akses folder (777).
    maksunya apa ya pak bos….hehehehehe mohon pencerahannya

    • Wahyu, salam kenal yah…tapi kayanya dah kenal yah hehe…

      Tapi apa Wahyu, sudah pernah pake Linux atau Unix…? hehe…

      kurang lebih klo di Windows mirip pengaturan akses..Full Control, Read, Write….gitu lah…^_^


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Kategori

%d blogger menyukai ini: