- Home>
- Tutorial PHP >
- PHP [dasar] – Membatasi File yang akan diupload (Tanpa Database)
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' ] |
- 1. pdf : application/pdf
- 2. psd : application/x-photoshop
- 3. ppt : application/powerpoint atau application/vnd.ms-powerpoint
- 4. zip : application/x-zip atau application/zip atau application/x-zip-compressed
- 5. mp3 : audio/mpeg atau audio/mpg atau audio/mpeg3 atau audio/mp3
- 6. bmp : image/bmp atau image/x-windows-bmp
- 7. gif : image/gif
- 8. jpeg : image/jpeg atau image/pjpeg
- 9. jpg : image/jpeg atau image/pjpeg
- 10. png : image/png atau image/x-png
- 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 !!!" ; } } } ?> |
- 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.
- –
- 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.
- –
- 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 ].
- –
- 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.
Tag :
Tutorial PHP
Subscribe to:
Post Comments (Atom)
0 comments