• 22 February 2015


    Pada tutorial  [ PHP [dasar] – Upload File (Tanpa Database) ], telah dijelaskan bagaimana membuat sebuah form yang dapat mengunggah ( upload ) sebuah file. Kali ini saya akan membahas bagaimana membatasi file yang akan diunggah ( upload ) berdasarkan ukuran file (dalam bytes) dan berdasarkan tipe file. Seperti yang telah dijelaskan pada tutorial sebelumnya, kita bisa mendapatkan informasi ukuran file dengan menggunakan fungsi PHP berikut ini :
    1
    $_FILES['berkas']['size']
    dan untuk mendapatkan tipe file dengan menggunakan fungsi PHP berikut ini :
    1
    $_FILES['berkas']['type']
    Sebelum menerapkan pembatasan ini, berikut saya cantumkan referensi mime type yang digunakan untuk menyeleksi tipe file yang boleh diunggah ( upload ) :
    1. 1. pdf : application/pdf
    2. 2. psd : application/x-photoshop
    3. 3. ppt : application/powerpoint atau application/vnd.ms-powerpoint
    4. 4. zip : application/x-zip atau application/zip atau application/x-zip-compressed
    5. 5. mp3 : audio/mpeg atau audio/mpg atau audio/mpeg3 atau audio/mp3
    6. 6. bmp : image/bmp atau image/x-windows-bmp
    7. 7. gif : image/gif
    8. 8. jpeg : image/jpeg atau image/pjpeg
    9. 9. jpg : image/jpeg atau image/pjpeg
    10. 10. png : image/png atau image/x-png
    11. 11. dsb
    Jika kita sudah mengetahui mime type dari sebuah media, maka kita tinggal memanfaatkan mime tersebut untuk membatasi atau menyeleksi file yang diunggah oleh pengguna. Bagaimana caranya ? Masih menyimpan file proses_upload.php dari tutorial [ PHP [dasar] – Upload File (Tanpa Database) ] ? jika masih, buka kembali file tersebut dan kode pada file tersebut akan ditambahkan agar file yang boleh diunggah ( upload  ) hanya file yang berupa file gambar yang berekstensi .jpeg, .jpg dan .png serta ukuran maks. filenya 1 MB (1000000 bytes). Berikut adalah contoh kode yang telah dimodifikasi :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?php
        if($_POST['btn-upload'] == "Upload")
        {
            $nama_berkas = $_FILES['berkas']['name'];
            $tipe_berkas = $_FILES['berkas']['type'];
            $ukuran_berkas = $_FILES['berkas']['size'];
            if($nama_berkas != "")
            {
                if($tipe_berkas == "image/jpeg" or $tipe_berkas == "image/pjpeg" or $tipe_berkas == "image/jpg" or $tipe_berkas == "image/png")
                {
                    if($ukuran_berkas <= 1000000)
                    {
                        $sumber = $_FILES['berkas']['tmp_name'];
                        $target = "fileupload/$nama_berkas";
                        if(move_uploaded_file($sumber,$target))
                        {
                            echo "<b>Nama File :</b> $nama_berkas";
                            echo "<br/><b>Tipe File :</b> $tipe_berkas";
                            echo "<br/><b>Ukuran File :</b> $ukuran_berkas bytes";
                            echo "<br/> Telah berhasil diupload !!!";
                        }else{
                            echo $_FILES['berkas']['error'];
                        }
                    }else{
                        echo "Ukuran file maks. 1Mb !!!";
                    }
                }else{
                    echo "File hanya boleh Gambar JPEG, JPG dan PNG !!!";
                }
            }
        }
    ?>
    Jika melihat kode diatas, ada beberapa penambahan kode yang dilakukan. Seperti yang tampak pada :
    1. Baris 10-11 : Kode pada baris ini berfungsi untuk membatasi tipe file yang boleh diunggah. Berdasarkan kode pada baris ini, tipe file yang boleh diunggah adalah file gambar yang bertipe JPG, JPEG atau PNG.
    2. Baris 29-31 : Jika file yang diunggah tidak memiliki tipe yang diijinkan maka kode pada baris ini akan dieksekusi sehingga menghasilkan sebuah pemberitahuan (Notice) bahwa file yang boleh diunggah adalah file gambar bertipe JPG, JPEG atau PNG.
    3. Baris 12-13 : Kode pada baris ini berfungsi untuk membatasi ukurang file yang boleh diunggah. Disini terlihat jelas bahwa ukuran file yang boleh diunggah adalah 1000000bytes atau sama dengan 1MB [ Lihat Disini ].
    4. Baris 26-28 : Jika file yang diunggah memiliki ukuran lebih dari 1MB, maka kode pada baris ini akan dieksekusi sehingga menghasilkan sebuah pemberitahuan bahwa file yang boleh diunggah maksimal memiliki ukuran 1MB.
    Selamat mencoba, semoga bermanfaat.

    0 comments

  • Nisekoi Template Designed by Johanes Djogan

    ©2016 - ReDesigned By Ani-Sudo