Cara membuat sistem upload file dengan php (Contoh Sederhana)

Assalamu alaikum wr wb?

IKLAN:


Sepertinya saya tidak akan panjang lebar lagi untuk menjelaskan mengenai sistem upload file dengan php ini, karena mungkin anda sudah tau apa yang dimaksud dengan Upload File, yang mana seringkali kita temukan pada beberapa website yang menyediakan fasilitas seperti itu, misalkan situs jejaring facebook yang menyediakan fasilitas untuk berbagi Photo dengan teman dan sebagainya.

Disini saya akan memberikan contoh dasarnya saja untuk pembuatan sistem upload file dengan php, silahkan anda modifikasi sendiri untuk bagian dekorasi dan sebagainya. Pertama-tama buatlah sebuah form dengan metode Post seperti dibawah ini:

File index.php

<h2>Upload File</h2>
Ukuran File Maximal: 10mb.
<form name="form" enctype="multipart/form-data" action="proses.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
Pilih File: <input name="file" type="file" style="cursor:pointer;" />
<input type="submit" name="submit" value="Upload" />
</form>

ScreenShoot:



Yang mana nantinya form diatas akan di proses oleh file proses.php, menggunakan metode Post, silahkan perhatikan script nya dibawah ini, kemudian silahkan anda pelajari bagaimana cara kerjanya:

IKLAN

File proses.php

<?php
if(isset($_POST[submit])){
 $direktori = 'files/'; //Folder penyimpanan file
 $max_size  = 1000000*10; //Ukuran file maximal 10mb
 $nama_file = $_FILES['file']['name']; //Nama file yang akan di Upload
 $file_size = $_FILES['file']['size']; //Ukuran file yang akan di Upload
 $nama_tmp  = $_FILES['file']['tmp_name']; //Nama file sementara
 $upload = $direktori . $nama_file; //Memposisikan direktori penyimpanan dan file
//Proses akan dimulai apabila File telah dipilih sebelumnya
if($nama_file == ""){echo "File Gagal di Upload karena anda tidak memilih file apapun!";}
else{
//Proses upload file jika ukuran lebih kecil dari yang di tentukan
if($file_size <= $max_size)
 {
  if(move_uploaded_file($nama_tmp, $upload)){echo "File Berhasil diupload ke Direktori: ".$direktori.$nama_file."";}
  else{echo "File ".$nama_file." Gagal diupload, karena berbagai macam alasan!";}
 }
else
{
 //Jika ukuran file lebih besar dari yang ditentukan
 echo "File ".$nama_file." Gagal di Upload, karena terlalu besar, batas yang ditentukan adalah : ".$max_size." bait.";
}}}
else
{
 echo "Harus melalui Form Upload sebelum ke halaman ini!";
}
?>  

Download script di atas secara lengkap

Semoga tutorial singkat ini bermanfaat buat anda yang sedang belajar, jangan lupa untuk memberikan komentar nya, terimakasih.

Wassalam...

Posting Komentar

30 Komentar

  1. uda q coba filenya ter upload k folder files..
    tapii d halaman webx sendiri gak adaaa????

    BalasHapus
    Balasan
    1. Memang script di atas hanya contoh sederhana sj, silahkan gunakan script nya untuk keperluan tertentu...

      Misalkan untuk berbagi poto, maka untuk menampilkan nya adalah:

      <img src="files/NAMA FILE YG DI AMBIL DI DATABASE">

      Yg mana sebelumnya nama file tersebut telah disimpan di database saat proses upload...

      Thank's

      Hapus
  2. Scriptnya gagal uploadnya ga jalan kalau filenya kebesaran,,,
    tolong dong di bntu,,, supaya bila filenya kebesaran keluar pesan seperti ini "File Gagal di Upload, karena terlalu besar, batas yang ditentukan adalah : 10000000 bait."

    di mohon jawabannya... :D

    BalasHapus
    Balasan
    1. Script di atas jg sudah sperti itu....

      Hapus
    2. tinggal ubah aja nilainya.. tambahin "0" untuk 100mb atau "00" untuk 1GB max.. semoga aja bisa begitu..

      btw saya tes di tempat saya bisa berjalan,, lewat localhosts (PC)

      Hapus
    3. Terkadang server jg membatasi besar nya file yg di upload, klo untk server lokal silahkan modif baris ini:

      upload_max_filesize = 200M

      Pada pengaturan php.ini

      Hapus
  3. kenapa tampilan design,,,
    sma pas nampil di localhostnya beda y???
    di localhost tampilannya acak2an....

    BalasHapus
  4. thnx gan.. mau nanya.. kalo di index.php kita tambahin beberapa radio button buat pilihan letak folder penyimpanan.. terus klik upload/submit
    nah di proses.php biar bisa mendeteksi pilihan folder penyimpanan pada radio button kita.. gimana gan scriptnya?

    BalasHapus
    Balasan
    1. Tinggal ganti bagian proses nya pada variable ini:

      $directory = $_POST['folder_pilihan'];

      folder_pilihan, sesuaikan dengan pilihan yg ada pada form di index.php, contohnya:

      <select name="folder_pilihan">
      <option value="folder1">Folder1</option>
      <option value="folder2">Folder2</option>
      </select>

      Thank's

      Hapus
  5. Assallamualaikum saya mau nanya saya sedikitnya lemah dan lupa bagaimana koneksinya ke database, barangkali mas ujang bisa memberikan pengarahan
    Trimakasih

    BalasHapus
    Balasan
    1. <?php
      $server = "ALAMAT_SERVER";
      $username = "USERNAME_MYSQL";
      $password = "PASSWORD_MYSQL";
      $database = "NAMA_DATABASE";
      mysql_connect($server,$username,$password) or die("Koneksi gagal");
      mysql_select_db($database) or die("Database tidak bisa dibuka");
      ?>

      Sory baru baca komentar nya....

      Hapus
  6. Oh iya,, scrip untuk nge list upload yg ad bagaimana ya apa sama kaya yang ditanyakan ticha-tata

    BalasHapus
    Balasan
    1. Klo mau nampilkan List nya, sebaiknya masukan namanya ke database saat upload:

      if(move_uploaded_file($_FILES['namafile']['tmp_name'],'folder/'.$_FILES['namafile']['name']))
      {
      //MASUKAN KE DATABASE DISINI....
      }
      else{
      echo "UPLOAD GAGAL....";
      }

      Kemudian untuk menampilkannya,, ambil dari database....
      Untuk contohnya harus dibuat dlu Gan....

      Hapus
  7. O iya maaf,, itu $upload =$direktori . $nama_file; itu direktori itu disesuaikan nama tmpt simpannya?

    BalasHapus
    Balasan
    1. Ya, btul mas... itu untuk Lokasi penyimpanan File nya...

      Hapus
  8. gan saya mau tanya
    bagaimana script nya
    kalau file yg di upload cuma buat gambar
    terus file gambar tersebut otomatis muncul dihalaman utama web

    kalo bisa balas nya kirim ke lisbanaputra@gmail.com

    terimakasih sebelumnya.

    BalasHapus
    Balasan
    1. Coba modif kode nya, tambahkan menjadi seperti dibawah ini, untuk menyaring extensi (Contoh Sederhana):

      //Proses upload file jika ukuran lebih kecil dari yang di tentukan
      if($file_size <= $max_size)
      {
      //PENYARINGAN
      $ext = strtolower(substr(strrchr($nama_file,"."),1));
      switch($ext){
      case "jpg": $ex="1"; break;
      case "jpeg": $ex="1"; break;
      case "png": $ex="1"; break;
      case "bmp": $ex="1"; break;
      case "gif": $ex="1"; break;
      default: $ex="0";
      }
      if($ex == 1){
      //
      if(move_uploaded_file($nama_tmp, $upload)){echo "File Berhasil diupload ke Direktori: ".$direktori.$nama_file."";}
      else{echo "File ".$nama_file." Gagal diupload, karena berbagai macam alasan!";}
      //
      } else {
      echo "File harus ber Extensi Gambar... (.jpg, .png, .gif, .bmp)";
      }
      //
      }
      else
      {
      //Jika ukuran file lebih besar dari yang ditentukan

      Kemudian untuk menampilkan nya di halaman utama web, sebelumnya nama file nya harus di simpan di database terlebih dahulu,, Maaf, untk contohnya harus dibuat dlu mas...

      Hapus
  9. kalo bisa dibuta cara menampilkan data yang telah ter upload

    BalasHapus
    Balasan
    1. Untk menampilkan file yg berhasil di upload, tinggal membuat link aj, dan arahkan ke nama file nya, atau misalkn file nya adlh gambar:

      <img src="files/namafile.jpg" width="100" height="100" />

      Atau buat script sederhana untk menampilkan seluruh isi folder seperti dibawah ini:

      <?php
      $dir = opendir("./");
      $file_array = array();
      while ($file = readdir($dir))
      {
      $file_array[] = $file;
      }
      sort($file_array);
      $i += 1;
      while (list($i, $nama_file) = each($file_array))
      {
      echo "$i. <a href='$nama_file'>$nama_file</a><br />";
      }
      closedir($dir);
      ?>

      Simpan di folder yg jadi target upload, contoh: files/index.php

      Maf, br bs Respon.

      Hapus
  10. pembuatan tabel di database nya apa apa saja? maaf masih newbie saya nya

    BalasHapus
  11. Gi mn ya cara masang file PHp di Blog...??

    BalasHapus
    Balasan
    1. Untuk di Blogger blm bs menggunakan php, silahkan gunakan Frame atau JavaScript, sementara php nya di simpan di hosting lain... Atau silahkan membuat Blog nya di Wordpress aja...

      Hapus
  12. terima kasih om (y) ordinary-web.blogspot.com/

    BalasHapus
  13. Masih bingung sistem php om .kapan ya punya blog berbasis php https://dubraw735.blogspot.com

    BalasHapus
  14. gan ane punya masalah ama [tmp_name]
    mohon jelasin fungsi nya
    soalnya gambar yg ane pilih gk masuk ke folder

    BalasHapus
  15. Gan Mau tanya kalo waktu kita mau upload file gambar ke dalam tabel, Saya kan mau upload filenya
    Ke dalam tabel CRUD sesuai ukuran widht(lebar)&height(panjang) secara otomatis itu gimana ya Gan scriptnya

    BalasHapus