Langsung ke konten utama

Skrip PHP untuk Upload File

 

Petani Kode
author Ahmad Muhardian • update terakhir 25 Dec 2015

Memahami Skrip PHP untuk Upload File


#
Cara Upload File di PHP

Bagaimana cara membuat fitur uplaoad file di PHP?

Pertanyaan ini cukup sering ditanyakan.

Karena itu, mari kita bahas bersama…

Upload file merupakan kegiatan pengiriman file dari client (pengunjung web) ke server.

Upload file ke aplikasi web

Biar lebih gampang, mari kita bahas dengan coding

Kode PHP untuk Upload File

Silahkan buat dua file:

  1. index.html untuk membuat form upload
  2. upload.php untuk menerima dan memproses file yang di-upload

Isi file index.html seperti ini:

<!DOCTYPE html>
<html>
<head>
    <title>Upload File</title> 
</head>

<body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        Pilih file: <input type="file" name="berkas" />
        <input type="submit" name="upload" value="upload" />
    </form> 
</body> 
</html>

Fokus pada elemen <form>. Perhatikan di sana ada beberapa hal yang harus dipahami:

  • atribut action="upload.php" artinya kita akan mengirim filenya ke upload.php;
  • atribut enctype atribut ini wajib disertakan untuk form upload;
  • atribut name akan menjadi nama indeks di dalam PHP.

Sekarang kita coba dulu isi file upload.php seperti ini:

<?php
echo "<pre>";
print_r($_FILES);
echo "</pre>";
?>

…dan coba lakukan upload.

Maka hasilnya kan seperti ini:

Upload file di PHP

Apa artinya ini?

Artinya: file yang kita upload akan ditampung dalam variabel $_FILES. Variabel ini merupakan sebuah array yang menampung data tentang file-nya.

Di sana ada beberapa indeks:

  • name adalah nama file yang di-upload;
  • type adalah jenis file yang di-upload;
  • tmp_name adalah nama file yang berada di dalam direktori temporer server;
  • error menyatakan apakah ada error atau tidak;
  • size adalah ukuran file-nya.

Pertanyaan: Di mana lokasi file yang baru saja kita upload?

Lokasinya akan disimpan di direktori temporari atau direktori sementara di server.

Tugas kita berikutnya adalah memindahkan file ini ke dalam aplikasi kita.

Bagaimana caranya?

Ini akan kita bahas di langkah berikutnya.

Memindahkan File yang sudah di-upload

Setiap file yang kita upload ke server, filenya akan disimpan di dalam direktori temporer.

Untuk memindahkan file ini ke dalam direktori aplikasi kita, maka kita membutuhkan sebuah fungsi bernama: move_uploaded_file().

Silahkan ubah kode upload.php menjadi seperti ini:

<?php

// ambil data file
$namaFile = $_FILES['berkas']['name'];
$namaSementara = $_FILES['berkas']['tmp_name'];

// tentukan lokasi file akan dipindahkan
$dirUpload = "terupload/";

// pindahkan file
$terupload = move_uploaded_file($namaSementara, $dirUpload.$namaFile);

if ($terupload) {
    echo "Upload berhasil!<br/>";
    echo "Link: <a href='".$dirUpload.$namaFile."'>".$namaFile."</a>";
} else {
    echo "Upload Gagal!";
}

?>

Variabel $terupload akan bernilai true apabila file berhasil dipindahkan dan akan bernilai false apabila gagal.

Sebelum mencoba, silahkan buat dulu direktori bernama terupload di dalam direktori project-nya.

Direktori untuk upload file

Sekarang mari kita coba upload file.

Jika berhasil, maka akan tampil seperti ini:

Upload File berhasil

Untuk memastikan, coba periksa direktori terupload:

Upload Gambar Berhasil

Berhasil 🎉…

Apa Selanjutnya?

Ruang lingkup pembahasan kita cuma sampai memahami konsep upload file di PHP saja. Untuk langkah berikutnya, silahkan lakukan pengembangan sendiri.

Seperti:

  • Menyeimpan data gambar di Database.
  • Melakukan filter terhadap data yang di-upload.
  • Melakukan pengolahan citra atau image processing dengan PHP
  • dll.

Selamat belajar.

Author avatar
Dukungan untuk Penulis

Suka dengan tulisan saya? Kamu bisa memberikan dukungan dengan mentraktir kopi di trakteer.id atau bagikan konten ini di sosial media.

Komentar

Postingan populer dari blog ini

Pemograman R Studio

  Metode Numerik Menggunakan R Pengantar Gambaran Isi Buku Cara Berkontribusi dalam Buku Ini Ucapan Terima Kasih Lisensi 1  Bahasa Pemrograman R 1.1  Sejarah R 1.2  Fitur dan Karakteristik R 1.3  Kelebihan dan Kekurangan R 1.4  RStudio 1.5  Menginstall R dan RStudio 1.6  Working Directory 1.6.1  Mengubah Lokasi Working Directory 1.6.2  Mengubah Lokasi Working Directory Default 1.7  Memasang dan Mengaktifkan Paket R 1.8  Fasilitas Help 1.8.1  Mencari Help dari Suatu Perintah Tertentu 1.8.2  General Help 1.8.3  Fasilitas Help Lainnya 1.9  Referensi 2  Kalkulasi Menggunakan R 2.1  Operator Aritmatik 2.2  Fungsi Aritmetik 2.3  Operator Relasi 2.4  Operator Logika 2.5  Memasukkan Nilai Kedalam Variabel 2.6  Tipe dan Struktur Data 2.7  Vektor 2.7.1  Membuat vektor 2.7.2  Missing Values 2.7.3  Subset Pada Vektor 2.7.4  Operasi Matematis Menggunakan Vektor ...

MIGRASI DATABASE DARI SQLite KE MySQL (Part-1)

  MIGRASI DATABASE DARI SQLite KE MySQL (Part-1) Pemakaian yang mana lebih baik dalam membuat database_musik di mysql atau Exel yang cell Cell pada tabel dilakukan operasi fungsi logika matematika. Untuk keperluan membuat database atau tabel yang memerlukan operasi logika atau matematika, seperti yang Anda sebutkan, MySQL jauh lebih baik dibandingkan Excel. Berikut adalah beberapa alasan mengapa MySQL lebih disarankan: 1. **Kapasitas dan Skalabilitas**: MySQL dapat menangani jumlah data yang jauh lebih besar daripada Excel. Ini penting jika Anda berencana untuk menyimpan banyak data atau melakukan operasi yang kompleks di atas data tersebut. 2. **Kekuatan dan Kinerja**: MySQL dirancang khusus untuk memproses query dan operasi basis data dengan cepat. Ini termasuk operasi matematika, logika, dan agregasi data yang umum dilakukan dalam aplikasi. 3. **Fleksibilitas Struktur**: Dalam MySQL, Anda dapat dengan mudah menentukan struktur tabel yang kompleks dan melakukan kueri yang lebih r...

Penerapan Graf dan Logika dalam Perancangan Rangkaian Digital

  Penerapan Graf dan Logika dalam Perancangan Rangkaian Digital dengan Studi Kasus Jam Digital Advertisement dokumen-dokumen yang mirip Aljabar Boolean. IF2120 Matematika Diskrit. Oleh: Rinaldi Munir Program Studi Informatika, STEI-ITB. Rinaldi Munir - IF2120 Matematika Diskrit SISTEM DIGITAL; Analisis, Desain dan Implementasi, oleh Eko Didik Widianto Hak Cipta 2014 pada penulis GRAHA ILMU Ruko Jambusari 7A Yogyakarta 55283 PENGGUNAAN TABEL KEBENARAN DALAM MERANCANG DESAIN DIGITAL MODUL 6 PROYEK PERANCANGAN RANGKAIAN DIGITAL 2. STUDI PUSTAKA Aplikasi Aljabar Boolean dalam Komparator Digital Aljabar Boolean. Adri Priadana Aljabar Boolean. Rinaldi Munir/IF2151 Mat. Diskrit 1 Aljabar Boolean. Bahan Kuliah Matematika Diskrit Implementasi Greedy Dalam Menemukan Rangkaian Logika Minimal Menggunakan Karnaugh Map MATERI PELATIHAN VHDL UNTUK SINTESIS yang paling umum adalah dengan menspesifikasikan unsur unsur pembentuknya (Definisi 2.1 Menurut Lipschutz, Seymour & Marc Lars Lipson dala...