Cara menggunakan php upload file type

OK.. pada tutorial kali ini admin akan menjelaskan Tutorial Dasar Upload File dengan PHP , Baik itu upload gambar, upload file pdf dll, dasarnya akan kita bahas disini, Untuk upload gambar di database sebelumnya admin sudah bahas pada artikel Script PHP upload dan Simpan gambar di database mysql , dan utnuk membuat validasi gambar juga sudah admin bahas di artikel Validasi Upload Type Image and Size Image dan Validasi Upload Gambar dengan HTML5 , nah.. artikel ini kita akan mengulang kembali bagaimana dasar membuat upload dengan php

Cara Dasar Membuat Upload File / Gambar dengan PHP

Berikut ini kita akan membahas dasar upload file / gambar tanpa database, yang harus diperhatikan dalam membuat upload file dasar ialah,

1. Dalam Form harus ada properti enctype="multipart/form-data" , atribut tersebut paling penting tidak boleh tidak ada.. contoh penggunaanya <form action="filetarget" method="post" enctype="multipart/form-data">

2. Pada bagian script PHP, kita bisa melihat beberapa fungsi $_FILES yang bisa kita gunakan dalam proses Upload file, diantaranya :

    $_FILES['file']['type'] => Fungsi ini digunakan untuk mengetahui jenis file yang di upload
    $_FILES['file']['name'] => Fungsi ini digunakan untuk mengetahui nama file yang di upload
    $_FILES['file']['size'] => Fungsi ini digunakan untuk mengetahui ukuran file yang di upload

Nah Untuk yang lain,, silahkan buat struktur folder seperti dibawah ini

Cara menggunakan php upload file type

Code upload.php

<form method="post" action="proses.php" enctype="multipart/form-data">.

    File: <input type="file" name="file" />

    <input type="submit" name="submit" value="Upload" />

</form>

proses.php

<?php
if(move_uploaded_file($_FILES['file']['tmp_name'],"images/". $_FILES['file']['name']))
        echo "Upload file berhasil...<br>
        Nama file: {$_FILES['file']['name']}<br>
        Ukuran: {$_FILES['file']['size']} byte";

    else

    echo "Upload file gagal...<br><a href=\"upload.html\">Kembali</a>";

?>

perbandingan jika tidak ingin menyimpan gambar di dalam folder images , perhatikan contoh berikut

<?php
//jika tidak ingin disimpan kedalam folder
if(move_uploaded_file($_FILES['file']['tmp_name'], $_FILES['file']['name']))
        echo "Upload file berhasil...<br>
        Nama file: {$_FILES['file']['name']}<br>
        Ukuran: {$_FILES['file']['size']} byte";

    else

    echo "Upload file gagal...<br><a href=\"upload.html\">Kembali</a>";

?>

Nah , sudah paham kan.. bagaimana upload file dengan php dan menyimpan ke dalam folder....??? , untuk lebih paham lagi, perhatikan contoh dibawah ini 

Pada artikel sebelumnya, Anda telah mempelajari tentang fungsi fopen pada PHP. Kali ini, Codekey akan membahas tentang upload file PHP. Terkadang, saat bekerja dengan PHP Anda harus langsung mengunggah file ke server. PHP memiliki fungsi bawaan yang berguna untuk itu.

Proses upload file di PHP pun memiliki beberapa ketentuan, bukan sembarang upload. Selama proses unggah file PHP, tetapkan batasan jenis file apa yang diizinkan dalam kode Anda, dan tentukan kapan file terlalu besar. Semua yang disimpan kode Anda mungkin disebut $_FILES. Variabel superglobal ini adalah larik yang berisi semua data pada file yang Anda unggah.

Jika Anda tertarik dengan pembahasan tentang file upload PHP, simak terus artikel ini sampai akhir.

Table of Contents

File Upload PHP : Penjelasan

Cara menggunakan php upload file type

Skrip PHP dapat digunakan dengan formulir HTML untuk memungkinkan pengguna mengunggah file ke server. Awalnya file diunggah ke direktori sementara dan kemudian dipindahkan ke tujuan target dengan skrip PHP. Informasi di halaman phpinfo.php menjelaskan direktori sementara yang digunakan untuk mengunggah file sebagai upload_tmp_dir dan ukuran maksimum file yang dapat diunggah dinyatakan sebagai upload_max_filesize.

PHP file upload memungkinkan pengguna untuk mengunggah file teks dan biner. Saat Anda menggunakan PHP, proses upload file di PHP akan memerlukan izin. Untuk mengunggah file dengan cara tertentu, Anda dapat mengatur batasan. Array asosiatif dari semua file yang diunggah ke skrip disebut PHP $_files.

Proses file upload PHP mengikuti langkah-langkah berikut ini:

  • Pengguna membuka halaman yang berisi formulir HTML yang menampilkan file teks, tombol telusuri, dan tombol kirim.
  • Pengguna mengklik tombol telusuri dan memilih file untuk diunggah dari PC lokal.
  • Path lengkap ke file yang dipilih muncul di teks yang diajukan kemudian pengguna mengklik tombol kirim.
  • File yang dipilih dikirim ke direktori sementara di server.
  • Skrip PHP yang ditentukan sebagai pengendali formulir di atribut tindakan formulir memeriksa apakah file telah tiba dan kemudian menyalin file ke direktori yang dimaksud.
  • Skrip PHP mengkonfirmasi keberhasilan kepada pengguna.
  • Seperti biasa saat menulis file, lokasi sementara dan akhir perlu memiliki izin yang ditetapkan yang memungkinkan penulisan file. Jika salah satunya diatur menjadi read-only maka proses akan gagal.
  • File yang diunggah bisa berupa file teks atau file gambar atau dokumen apa pun.

Artikel Terkait  Tutorial PHP 26 : Fungsi Fopen PHP dan Belajar Cara Menggunakannya

Configuring php

Jika kita ingin membuat file upload PHP, kita harus memiliki izin. Jika tidak, kita harus mengatur PHP untuk mengizinkannya. Untuk mencapainya, kita edit file bernama php.ini dan ubah nilai file_uploads menjadi On seperti contoh berikut:

file_uploads = On

Creating HTML Form

Setelah kami menyiapkan izin untuk memulai pengunggahan file PHP, kami dapat membuat formulir HTML untuk proses upload file di PHP:

Untuk mengunggah file PHP menggunakan formulir ini secara efektif, ingat beberapa hal:

  • Saat mengunggah file melalui formulir HTML, kita harus menggunakan metode posting yang kita tetapkan ke elemen formulir sebagai atribut.
  • Kita juga harus menetapkan enctype=”multipart/form-data” di antara atributnya. Ini memungkinkan browser untuk mengidentifikasi jenis penyandian agar PHP mengunggah file dengan benar.
  • Catatan: atribut type=”file” dari elemen <input> menampilkan bidang input sebagai kontrol pemilihan file di sebelah tombol Browse.

Upload Script

Berikut ini adalah kode dari proses upload file di PHP di dalam file upload.php:

Mari kita uraikan contoh dan pastikan kita memahami setiap langkah:

  • $dir = “uploads/” memberitahu server tempat meletakkan file yang diupload. $_files PHP adalah larik yang menyimpan file yang diunggah ke kode menggunakan metode POST.
  • $file mendeklarasikan path ke file yang ingin Anda unggah.
  • $status=1 tidak akan langsung digunakan. Ini menentukan apakah unggahan berhasil.
  • $file_type menyimpan ekstensi file.
  • Terakhir, kita harus memeriksa apakah file tersebut valid.

Catatan: direktori baru bernama upload harus dibuat di jalur tempat file upload.php ditempatkan. File yang diunggah akan ditempatkan di sana.

Memeriksa apabila file sudah ada

Pada tahap ini, kita akan menambahkan batasan ke dalam form. Pertama, periksa apakah file yang kita unggah belum ada di direktori unggahan kita. Jika ya, $status disetel ke 0:

if (file_exists($file)) {
    echo "File sudah ada!";
    $status = 0;
}

Mengatur Batasan

Ukuran File

Pada tahap ini kita akan mendeklarasikan bidang bernama file di formulir kami. Sekarang, kita harus memeriksa ukuran file. Jika ukuran file melebihi 800 kilobytes (yang merupakan nilai yang kami siapkan), kesalahan akan dipicu. $status kemudian akan disetel ke 0:

if ($_FILES["file_to_upload"]["size"] > 800000) {
    echo "Ukuran file terlalu besar!";
    $status = 0;
}

Artikel Terkait  Tutorial PHP 16 : Cara memahami file dalam PHP

Jenis File

Mari kita lihat contoh di bawah ini. Anda akan melihatnya membatasi pengunggahan file PHP hanya untuk jenis file tertentu. Yang diizinkan harus memiliki ekstensi JPG, JPEG, PNG, atau GIF. Jika file tidak cocok dengan jenis yang ditentukan, kesalahan akan ditangkap dan $status disetel ke 0:

if($file_type != "gif" && $file_type != "jpg" && $file_type != "jpeg" && $file_type != "png") {
    echo "Hanya file JPG, JPEG, PNG & GIF yang dapat diunggah";
    $status = 0;
}

Skrip untuk Proses upload file di PHP

Ini dia final script yang akan Anda lihat apabila berhasil menyelesaikannya.

<?php
$dir = "uploads/";
$file = $dir . basename($_FILES["file_to_upload"]["name"]);
$status = 1;
$file_type = pathinfo($file,PATHINFO_EXTENSION);

if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["file_to_upload"]["tmp_name"]);
    if($check !== false) {
        echo "File yang kamu unggah adalah gambar - " . $check["mime"] . ".";
        $status = 1;
    } else {
        echo "File yang kamu unggah bukanlah gambar";
        $status = 0;
    }
}

if (file_exists($file)) {
    echo "File sudah ada!";
    $status = 0;
}
if ($_FILES["file_to_upload"]["size"] > 800000) {
    echo "Ukuran file terlalu besar";
    $status = 0;
}

if($file_type != "jpg" && $file_type != "png" && $file_type != "jpeg" && $file_type != "gif" ) {
    echo " Hanya file JPG, JPEG, PNG & GIF yang dapat diunggah ";
    $status = 0;
}

if ($status == 0) {
    echo "File anda tidak berhasil untuk diunggah!";
} else {
    if (move_uploaded_file($_FILES["file_to_upload"]["tmp_name"], $file)) {
        echo "File ". basename( $_FILES["file_to_upload"]["name"]). " telah diunggah";
    } else {
        echo "Proses unggah file gagal!";
    }
}
?>

Itulah penjelasan seputar file upload PHP. Anda dapat mengunggah file teks dan biner ke skrip Anda. Jika Anda ingin membatasi pengunggahan file, Anda dapat mengatur batasan tertentu. File yang diunggah ke kode PHP Anda terkandung dalam array asosiatif yang disebut PHP $_files.