sutria ramadhani

Welcome

Komunitas Blogger Universitas Sriwijaya

Artikel tentang upload file dan multiple file

Kategori: Welcome
Diposting oleh ramadhani pada Minggu, 08 April 2012
[435 Dibaca] [0 Komentar]Post to TwitterPost to Facebook

 Nama               : Sutria Ramadhani

Nim                  : 09091403033

Prodi                : Sistem Informasi Bilingual 2009 (SI6BIL)

Tugas               : Artikel tentang upload file dan multiple file

 

 

1.    Abstrak

Artikel ini bertujuan untuk memberitahukan cara mengupload file. Artikel ini menggunakan Macromedia Dreamaver MX 2004.  Artikel ini bertujuan untuk memudahkan pengguna dalam mengupload file.

 

2.    Pendahuluan

2.1           Latar Belakang

Perkembangan teknologi dari waktu  ke waktu semakin meningkat pesat. Terlebih lagi perkembangan teknologi informasi berbasis internet. Dengan  teknologi informasi berbasis internet sangat membantu user dalam melakukan beberapa aktivitas interaksi.

Dalam pembuatan webiste terlebih dahulu mendesain web. Tentunya, untuk mendesain web bukan merupakan pekerjaan yang berat dan bukan merupakan pekerjaan yang ringan. Apa maksudnya? Merancang web bukanlah pekerjaan yang berat artinya siapapun bisa menguasai dan membuatnya asalkan memiliki kemauan untuk belajar. Namun merancang web (web design) bukanlah pekerjaan yang ringan artinya tidak semua orang memiliki kemampuan yang luas tentang beberapa aspek yang harus diketahui agar tampilan web menarik sehingga banyak pengunjung yang datang.

Tentunya, dengan mendesain web, kita bisa menggunakan Macromedia Dreamaver sebagai toolnya.Untuk menunjang itu, Macromedia Dreamaver membantu kita untuk mempermudah kegiatan. Salah satu kegiatan yang kita lakukan adalah suatu perintah untuk mengupload file ke database. Upload file merupakan salah satu hal terpenting dalam membangun suatu website. Maka dari itu, perlunya kita mengetahui cara-cara untuk mengupload file tersebut.

 

2.2           Identifikasi Masalah

Dalam mendesain website, upload file dibutuhkan. Maka terdapat identifikasi permasalahannya:

1.      Artikel ini memberitahukan tentang cara membuat upload file ke dalam database.

2.      Memberikan kemudahan bagi pengguna dalam mendesain website

3.      Membantu pengguna dalam mengembangkan suatu website.

 

3.    Isi

Pada artikel  ini terdapat terdapat dua cara untuk mengupload file.

1.      Upload file .

Upload file pada bagian ini, berupa upload data yang terdiri 1 file saja. Karena, file yang akan di simpan pada database hanya satu.

Lalu, Akan terasa aneh apabila suatu CMS tidak dilengkapi dengan fasilitas untuk upload file. Tentu akan sangat repot kalau mengandalkan software FTP untuk mengupload gambar atau dokumen lain ke web server.

Belum lagi pengelolaannya pun kurang begitu praktis. Jadi alangkah baiknya kalau kita melengkapi aplikasi CMS dengan kemampuan untuk upload dan download melalui browser.

Kita tidak perlu repot-repot lagi untuk menginstall software FTP di komputer client. Selain itu apabila dikombinasikan dengan database, kita bahkan bisa menyimpan informasi yang berkaitan dengan file.

Jika sewaktu-waktu dibutuhkan, data-data file tersebut, misalnya nama file, ukuran, tipe, dan sebagainya bisa kita lihat dengan mudah melalui browser.

Pada artikel akan dibahas bagaimana cara upload dan download file menggunakan PHP dan MySQL.

Kebutuhan Sistem

Software yang diperlukan untuk membangun aplikasi ini adalah:

·        Web Server Apache

·        PHP

·        MySQL

Database MySQL akan kita pakai untuk menyimpan semua informasi yang berkaitan dengan file. Struktur Database Aplikasi yang akan kita bangun ini sangat sederhana. Kita hanya memerlukan satu buah tabel untuk penyimpanan data. Strukturnya adalah sebagai berikut:

CREATE TABLE upload (

  id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,

  deskripsi VARCHAR(200) NULL,

  filetype VARCHAR(200) NULL,

  filedata LONGBLOB NULL,

  filename VARCHAR(200) NULL,

  filesize BIGINT NULL,

  PRIMARY KEY(id)

);

User Interface

Tag form adalah bagian dari dokumen HTML yang berisi beberapa elemen khusus yang disebut dengan control, seperti label, button, checkbox dan textarea.

Dengan elemen control inilah user bisa berinteraksi dengan form. Bentuk interaksinya pun bermacam-macam. Misalnya saja mengisikan data pada text input, memilih sesuatu pada tampilan select, mengklik button dan sebagainya.

Salah satu tipe elemen dari form yang akan kita pakai pada aplikasi ini adalah file. Tipe elemen ini sangat istimewa. Kenapa demikian? Karena bisa mengirimkan data biner yaitu file. Akan tetapi hal ini hanya bisa terjadi apabila encoding pada form tersebut adalah “multipart/form-data”.

Kemudian Ada 4 file yang akan kita buat yaitu:

  • koneksi.php    : untuk melakukan koneksi database MySQL
  • index.php        : untuk menampilkan daftar file yang telah kita upload
  • upload.php      : untuk mengupload file ke server
  • download.php: untuk mendownload file dari server

Koneksi Database

File koneksi.php ini nantinya akan kita include di ketiga file berikutnya, yaitu index.php, upload.php dan download.php.

Nama File: koneksi.php

<?php
$error_message = "";
 
if (! @mysql_connect("localhost", "root", ""))
{
   $error_message = "Koneksi database gagal!";
}
 
@mysql_select_db("foto");
?>

Upload File

Proses upload file pada prinsipnya hanya mengkopi file di komputer lokal dan ditransfer ke server. Ukuran file yang bisa diupload ke server biasanya ada batas maksimalnya. Oleh karena itu kita juga perlu memperhitungkan hal ini.

Berikut ini contoh source program untuk upload file.

Nama File: upload.php

<?php
include ("koneksi.php");
 
if ($_POST)
{
   $filedata = addslashes(fread(fopen($_FILES['imagefile']['tmp_name'], 'r'),
               $_FILES['imagefile']['size']));
   $filetype = $_FILES['imagefile']['type'];
   $filesize = $_FILES['imagefile']['size'];
   $filename = $_FILES['imagefile']['name'];
   $deskripsi = $_POST['deskripsi'];
 
   $result = mysql_query ("insert into upload (deskripsi,
             filetype, filedata, filename, filesize)
             values ('" . $deskripsi . "','" . $filetype .
             "','" . $filedata . "','" . $filename .
             "'," . $filesize . ")");
 
   if ($result) echo "Upload sukses";
}
?>
 
<html>
<head>
   <title>Form Upload File</title>
</head>
<body>
<form enctype="multipart/form-data" method="post">
<table border="1">
   <tr>
      <td>File</td>
      <td><input type="file" name="imagefile"></td>
   </tr>
   <tr>
      <td>Deskripsi</td>
      <td><input type="text" name="deskripsi"></td>
   </tr>
   <tr>
      <td>&nbsp;</td>
      <td><input type="submit" value="Upload"></td>
   </tr>
</table>
</form>
</body>
</html>

Download File

Kebalikan dari upload adalah download file. Pada proses ini kita harus mengkonversi data biner yang tadinya tersimpan di database menjadi file seperti semula.

Berikut ini contoh source program untuk download file.

Nama File: index.php

<?php
include ("koneksi.php");
 
$data = @mysql_query ("select * from upload");
?>
 
<html>
<head>
   <title>Daftar Foto</title>
</head>
 
<body>
<table border="1">
   <tr>
      <th>ID</th>
      <th>Nama file</th>
      <th>Tipe</th>
      <th>Ukuran</th>
      <th>Deskripsi</th>
      <th>Download</th>
   </tr>
   <?php while ($row = @mysql_fetch_assoc($data)) { ?>
   <tr>
      <td><?=$row['id'] ?></td>
      <td><?=$row['filename'] ?></td>
      <td><?=$row['filetype'] ?></td>
      <td><?=$row['filesize'] ?></td>
      <td><?=$row['deskripsi'] ?></td>
      <td><a href="download.php?id=<?=$row['id'] ?>">Download</a></td>
   </tr>
   <?php } ?>
</table>
</body>
</html>

Nama File: download.php

<?php
include ("koneksi.php");
 
$data = @mysql_query ("select * from upload where
        id=" . $_REQUEST['id']);
 
if ($row = @mysql_fetch_assoc($data))
{
   $filedata = $row['filedata'];
   $deskripsi = $row['deskripsi'];
   $filename = $row['filename'];
   $filetype = $row['filetype'];
   $filesize = $row['filesize'];
}
 
header('Content-type: ' . $filetype);
header('Content-length: ' . $filesize);
header("Content-Transfer-Encoding: binarynn");
header("Pragma: no-cache");
header("Expires: 0");
header('Content-Disposition: attachment; filename="' . $filename . '"');
echo $filedata;
exit();
?>

 

2.      Multiple file.

Upload file pada bagian ini, berupa upload data yang terdiri lebih dari 1 file saja. Karena, file yang di simpan pada database lebih dari satu.

Bisa Anda bayangkan bagaimana repotnya seandainya kita harus mengupload file atau dokumen yang jumlahnya cukup banyak ke web server. Kalau kita cuma mengandalkan aplikasi upload seperti yang pernah kita bahas pada tulisan sebelumnya, tentu sangat melelahkan dan juga membosankan. Mengapa demikian? Ya tentu saja, karena aplikasi tersebut hanya mampu mengirimkan satu dokumen dalam satu kali upload.

Oleh karena itu kita perlu memodifikasi aplikasi tersebut agar bisa mengirimkan banyak file dalam satu kali upload. Tentu pekerjaan kita akan lebih ringan apabila kita bisa mengupload banyak dokumen sekaligus dengan sekali klik saja. Disamping lebih praktis, cara ini juga bisa menghemat bandwidth Internet.

Kita bisa membuat aplikasi web untuk mengupload multiple file dengan cara menyimpan informasi file yang akan kita upload tersebut dalam suatu variabel array. Tekniknya cukup mudah, yaitu dengan menambahkan tanda kurung siku atau [] di belakang nama tag input pada form yang kita buat.

Contohnya bisa kita lihat pada cuplikan kode program di bawah ini.

<form action="upload.php" method="post" enctype="multipart/form-data">
   <p><input name="userfile[]" type="file" /></p>
   <p><input name="userfile[]" type="file" /></p>
   <p><input name="submit" type="submit" value="Upload" />
</form>

Ketika kita mengklik tombol Upload, secara otomatis semua file yang kita kirimkan akan disimpan dalam variabel array $_FILES['userfile']. Hampir sama dengan aplikasi sebelumnya bukan? Bedanya cuma terletak pada nama tag input saja.

Lalu sekarang bagaimana cara menangani data di sisi server? Tidak jauh beda dengan aplikasi sebelumnya. Hanya saja, pada kasus ini data yang dikirimkan tidak hanya satu tapi ada beberapa buah data (pada contoh ini ada dua) yang semuanya disimpan dalam variabel$_FILES['userfile'].

Tentu Anda masih ingat bahwa array $_FILES itu sendiri sebenarnya berisi beberapa informasi terkait dengan file atau dokumen yang kita upload. Array $_FILES tersebut merupakan array majemuk yang terdiri dari:

$_FILES['userfile']['name']

Array ini berisi nama sebenarnya (asli) dari file atau dokumen yang tersimpan di komputer user sebelum file tersebut diupload ke server.

$_FILES['userfile']['tmp_name']

Array ini berisi nama file temporer dari file atau dokumen yang diupload. Lokasi file ini ada di direktori temporer pada web server.

$_FILES['userfile']['size']

Array ini berisi informasi berapa ukuran (dalam byte) file atau dokumen yang diupload.

$_FILES['userfile']['type']

Array ini berisi MIME type dari file atau dokumen yang diupload, misalnya image/jpeg,image/png, image/gif, text/plain, dan sebagainya.

Untuk kasus aplikasi upload multiple file seperti yang kita buat ini, array $_FILES di atas bisa kita akses dengan menggunakan indeks bilangan yang menunjukkan urutan dari file yang kita upload. Sebagai contoh, jika file yang kita upload tersebut adalah gambar_1.jpg dangambar_2.jpg maka informasi nama file tersebut akan tersimpan di array $_FILES dengan struktur sebagai berikut.

$_FILES['userfile']['name'][0] = 'gambar_1.jpg';
$_FILES['userfile']['name'][1] = 'gambar_2.jpg';

Selanjutnya, kita bisa menyimpan file tersebut dengan cara yang sama seperti pada aplikasi sebelumnya. Berikut ini adalah contohnya.

$jumlah_file = count ($_FILES['userfile']['name']);
$path = pathinfo($_SERVER['PHP_SELF']);
for ($i = 0; $i < $jumlah_file; $i++)
{
   $tmp_file = $_FILES['userfile']['tmp_name'][$i];
   $filetype = $_FILES['userfile']['type'][$i];
   $filesize = $_FILES['userfile']['size'][$i];
   $filename = $_FILES['userfile']['name'][$i];
   $destination = $path['dirname'] .
'/data/' . $filename;
   move_uploaded_file($tmp_file, $_SERVER['DOCUMENT_ROOT'] . $destination);
}

 

 

 

4.    Daftar Pustaka

http://repository.usu.ac.id/bitstream/123456789/7878/1/09E02819.pdf

http://www.sorsawo.com/2010/02/upload-multiple-file-dengan-php/

http://www.sorsawo.com/2008/08/upload-file-dengan-php-dan-mysql-bagian-2/

 

 



PDF | DOC | DOCX


Komentar:


belum ada komentar...


Kirim Komentar Anda:

Nama Anda (wajib diisi) E-Mail (tidak dipublikasikan) http:// Website, Blog, Facebook, dll (wajib diisi)


<-- isi kode di atas (wajib diisi)

grinLOLcheesesmilewinksmirkrolleyesconfused
surprisedbig surprisetongue laughtongue rolleyetongue winkraspberryblank starelong face
ohhgrrrgulpoh ohdownerred facesickshut eye
hmmmmadangryzipperkissshockcool smilecool smirk
cool grincool hmmcool madcool cheesevampiresnakeexcaimquestion