cara upload file di php Skip to main content

cara upload file di php

upload file merupakan suatu teknik yang juga sering digunakan oleh para programer web developer dalam membuat aplikasi nya, karena upload file ini bisa dikategorikan suatu hal yang wajib dalam pembuatan aplikasi berbasis web. upload file sendiri menurut saya pribadi adalah suatu cara untuk memindahkan suatu file dari perangkat klien ke perangkat server atau dengan kata lainnya adalah suatu proses transfer file dari klien ke server. nah kali ini kita akan mencoba mengetahui dan belajar bersama tentang upload file ini, namun seperti biasa izinkan diri ini untuk mengucapkan

salam sobat semua

Alhamdulillahi robbil 'alamiin segala puji bagi Allah pencipta alam semesta ini yang telah memberikan nikmat pada diri ini secara gratis, sehingga diri ini bisa menulis lagi pada kesempatan kali ini. tak lupa sholawat serta salam tetap akan terpanjat dan tercurahkan kepada baginda sayyidina Muhammad S.A.W. beserta kepada keluarga dan para sahabatnya.

Bismillahir rohmanir rohiim.

kali ini mari kita belajar dan mencoba bersama tentang apa itu upload file di php. upload file adalah seperti yang kita tahu pada tulisan diatas bahwa upload file ini adalah proses transfer file dari klien ke server. upload file ini bisa untuk upload image atau gambar, atau juga bisa upload file pdf atau juga berupa file text atau dan yang lainnya. 

pertama yang harus kita buat adalah membuat form upload file tersebut yaitu nama form tersebut adalah input type file yang kurang lebihnya untuk penerapan dalam kode html atau phpnya seperti berikut

<?php
echo "<form method=\"POST\" enctype=\"multipart/form-data\">
<input type=\"file\" name=\"uplfile\">
</form>
";
?>

nah jika kode diatas kita jalankan maka akan menghasilkan sebuah output sebagai berikut

input type file upload php

kode diatas digunakan untuk mengupload hanya satu file, jika ingin membuat banyak upload file, kita hanya cukup mengubah name pada attribut input file diatas menjadi suatu array yang nantinya akan seperti ini kurang lebihnya

<input type=\"file\" name=\"uplfile[]\">

dan kita juga bisa memfilter suatu file yang akan kita proses dalam sisi klien, namun untuk pemfilteran dalam sisi klien ini untuk security nya masih kurang jadi nanti kita juga tambahin pemfilterannya dalam sisi server sidenya. untuk pemfilteran dalam sisi client kita bisa menambahkan attribut accept dalam tag input file, yang kurang lebihnya seperti berikut

<input type=\"file\" name=\"uplfile\" accept=\"audio/*,image/*\"> 

 maka jika kita jalankan lagi kode diatas akan menghasilkan suatu output seperti berikut

filter upload file php client
kode diatas memfilter semua file yang berekstensi audio dan image atau gambar, jika kita ingin hanya menghususkan pada suatu ekstensi saja maka kita bisa merubah isi dalam attribut accept menjadi beberapa ekstensi saja yang kurang lebihnya seperti berikut
<input type=\"file\" name=\"uplfile\" accept=\"image/jpg,image/jpeg,image/bmp,image/png\">

maka jika kita jalankan lagi kode diatas akan menghasilkan suatu output sebgai berikut

filter upload file php client special ekstensi

sekarang setelah kita berhasil membuat formnya maka sekarang waktunya kita membuat kode untuk proses transfer atau proses upload filenya, namun sebelumnya kita buat terlebih dulu untuk folder file atau tempat folder menyimpan file yang akan kita transfer biar kelihatan rapi seperti tampak pada gambar dibawah. 

folder file upload php

dan untuk proses transfer atau upload file kita bisa menggunakan 2 fungsi yaitu 
move_uploaded_file($_FILES['name']['tmpname'],"targetfolder upload/namafile");

atau

copy($_FILES['name']['tmpname'],"targetfolder upload/namafile");

semua kode diatas memiliki kekurangan dan kelebihan masing-masing, jadi di coba sendiri saja ya. kalau saya pribadi lebih sering fungsi yang move_uploaded_file karena fungsi tersebut memindah dari dir tmp ke folder tempat kita jadi folder tmp tidak menupuk file. jadi jika kita rangkai maka akan seperti ini kurang lebihnya

<?php

echo "<form method=\"POST\" enctype=\"multipart/form-data\">

<input type=\"file\" name=\"file[]\" accept=\"image/jpg,image/jpeg,image/bmp,image/png\">

<br>

<br>

<input type=\"submit\" value=\"Upload\" name=\"prosesupl\">

</form>

";

if(isset($_POST['prosesupl'])){

move_uploaded_file($_FILES["file"]["tmp_name"][0], "./file/".$_FILES["file"]["name"][0]);

}

?>

dan jika berhasil maka file yang kita upload akan berada pada folder yang sudah kita tentukan seperti tampak berikut

upload file php example

 
upload file php example execute

 

upload file php example result

setelah kita berhasil membuat upload file sekarang kita mencoba mengenal beberapa fungsi dari fungsi file di php ini yang kurang lebihnya seperti berikut

$_FILES["nama_name_file"]["tmp_name"] = ini berfungsi untuk mengetahui folder tmp atau file yang sudah ada di tmp di server
$_FILES["nama_name_file"]["name"] = untuk nama file yang sedang kita upload
$_FILES["nama_name_file"]["size"] = untuk mengetahui ukuran besar file yang sedang kita upload dalam satuan byte
$_FILES["nama_name_file"]["type"] = untuk mengetahui ukuran tipe file yang sedang kita upload

dan sekarang kita coba untuk memfilter tipe atau jenis file, karena jika kita tidak memfilter semua orang akan bisa memasukkan file apa saja dalam server kita, untuk pemfilteran tipe file ini banyak sekali tapi kita coba satu saja tehnik untuk memfilter file tipe ini yang sering saya gunakan yaitu dengan menggunakan fungsi in_array, fungsi in_array ini untuk mencari nilai dalam suatu file type yang ada di array yang kurang lebihnya seperti berikut

<?php
echo "<form method=\"POST\" enctype=\"multipart/form-data\">
<input type=\"file\" name=\"file[]\" accept=\"image/jpg,image/jpeg,image/bmp,image/png\">
<br>
<br>
<input type=\"submit\" value=\"Upload\" name=\"prosesupl\">
</form>
";
if(isset($_POST['prosesupl'])){
$validfile=array("image/jpg","image/jpeg","image/bmp","image/png");
if(in_array($_FILES["file"]["type"][0],$validfile)){
move_uploaded_file($_FILES["file"]["tmp_name"][0], "./file/".$_FILES["file"]["name"][0]);
}else{
echo "Maaf file tidak diizinkan";
}
}
?>

dan jika kode diatas dijalankan kita coba upload file tipe lain selain yang sudah kita masukkan dalam array maka akan menghasilka suatu output sebagai berikut

valid type upload file php with in_array

setelah kita selesai buat filter tipe, sekarang kita mencoba untuk mencoba pengecekan file, pengecekan file ini dilakukan jika nama file kita tidak dirubah, tapi kadang ada juga yang menghandle duplikat nama file ini dengan mengganti namanya, tapi sekarang kita coba dulu untuk pengecekan file duplikat ini dengan mengecek di dalam folder upload kita dengan fungsi

file_exists("nama folder","nama file");

yang nantinya jika kita terapkan dalam kode kita akan menjadi seperti berikut kurang lebihnya

<?php

echo "<form method=\"POST\" enctype=\"multipart/form-data\">

<input type=\"file\" name=\"file[]\" accept=\"image/jpg,image/jpeg,image/bmp,image/png\">

<br>

<br>

<input type=\"submit\" value=\"Upload\" name=\"prosesupl\">

</form>

";

if(isset($_POST['prosesupl'])){

if( file_exists ("./file/" . $_FILES["file"]["name"][0])) {

echo "Maaf file ini sudah ada";

}else{

$validfile=array("image/jpg","image/jpeg","image/bmp","image/png");

if(in_array($_FILES["file"]["type"][0],$validfile)){

move_uploaded_file($_FILES["file"]["tmp_name"][0], "./file/".$_FILES["file"]["name"][0]);

}else{

echo "Maaf file tidak diizinkan";

}

}

}

?>

dan jika kode diatas dijalankan maka akan menghasilkan suatu output seperti berikut

file_exists upload file php

 setelah itu kita lanjut untuk mencoba merubah nama file dengan nama unik dengna menggunakan fungsi time() yang sudah pernah kita coba pada tulisan disini kemudian kita convert dengan fungsi md5 yang kurang lebihnya seperti berikut

<?php
echo "<form method=\"POST\" enctype=\"multipart/form-data\">
<input type=\"file\" name=\"file[]\" accept=\"image/jpg,image/jpeg,image/bmp,image/png\">
<br>
<br>
<input type=\"submit\" value=\"Upload\" name=\"prosesupl\">
</form>
";
if(isset($_POST['prosesupl'])){
$ext = explode('.', basename($_FILES['file']['name'][0]));
$namaunik=md5(time()).".".$ext[count($ext)-1];
if( file_exists ("./file/" . $namaunik)) {
echo "Maaf file ini sudah ada";
}else{
$validfile=array("image/jpg","image/jpeg","image/bmp","image/png");
if(in_array($_FILES["file"]["type"][0],$validfile)){
move_uploaded_file($_FILES["file"]["tmp_name"][0], "./file/".$namaunik);
}else{
echo "Maaf file tidak diizinkan";
}
}
}
?>

atau bisa seperti ini

<?php

echo "<form method=\"POST\" enctype=\"multipart/form-data\">

<input type=\"file\" name=\"file[]\" accept=\"image/jpg,image/jpeg,image/bmp,image/png\">

<br>

<br>

<input type=\"submit\" value=\"Upload\" name=\"prosesupl\">

</form>

";

if(isset($_POST['prosesupl'])){

$ext = explode('.', basename($_FILES['file']['name'][0]));

$namaunik=md5(time()).".".end($ext);

if( file_exists ("./file/" . $namaunik)) {

echo "Maaf file ini sudah ada";

}else{

$validfile=array("image/jpg","image/jpeg","image/bmp","image/png");

if(in_array($_FILES["file"]["type"][0],$validfile)){

move_uploaded_file($_FILES["file"]["tmp_name"][0], "./file/".$namaunik);

}else{

echo "Maaf file tidak diizinkan";

}

}

}

?>

maka jika kode diatas dijalankan file yang kita upload akan berubah namanya seperti tampak berikut

 

name file with unique upload file php

akhirnya rangkaian kode upload file dengan php sudah selsaia namun upload file tersebu masih ada batas maximum file yang harus kita upload, jadi jika kalian ingin upload file maximum sizenya di besarkan tinggal ubah settingan di php.ini dalam server dengan mencari kata dibawah ini untuk pengaturan proses upload

file_uploads=On = untuk menghidupkan fungsi proses upload
upload_tmp_dir="E:\xampp\tmp" = untuk folder tmp proses upload kita di server
upload_max_filesize=2M = ini untuk maximum ukuran file yang diperbolehkan di upload ke server
max_file_uploads=20 = ini batas maksimum file yang boleh kita upload dalam satu proses
memory_limit=128M = pembatasan memory server yang kita pakai
output_buffering=4096 = waktu ketika memproses upload ini bisa disetting atau diganti ke off

jadi silahkan kalian setting sendiri untuk proses upload dalam php.ini server.

jadi seperti itulah untuk upload file di php cara membuat file dengan php ini. dan saya rasa cukup sekian dulu untuk tulisan kali ini tentang upload file di php atau cara upload file dengan php. mudah-mudahan tulisan ini bisa memberi kita semua manfaat khususnya untuk saya pribadi. dan kita lanjut nanti di next tulisan Insya Allah.

bagi yang ingin download file kode diatas bisa download disini 

salam sobat semua

tags:

upload dan menampilkan image di php

cara upload file pdf ke database dengan php

upload file php mysqli

upload file lebih dari satu dengan php

cara menampilkan file di php

cara upload 2 file di php

cara membuat upload file di html

script php upload file ke database

upload file lebih dari satu dengan php

upload dan menampilkan image di php

cara upload 2 file di php

cara menampilkan file di php

upload file php mysqli

cara membuat upload file di html 

 

 



Comments

Popular posts from this blog

cara membuat redirect dengan header php

redirect adalah suatu pengalihan ke halaman lain dengan maksud dan tujuan tertentu. terkadang kita sering menemukan ketika di suatu applikasi web sesorang yang kemudian dengan automatis kita dialihkan ke halaman lain seperti contoh adf.ly atau  https://antarurl.blogspot.com/p/redirect-all-url.html?targeturl?baseurl=google,com yang mana kita akan secara automatis dilaihkan kepada suatu halaman. nah sebelum kita mencoba membuatnya seperti biasa izinkan diri ini terlebih dahulu untuk mengucapkan salam sobat semua Alhamdulillahi robbil 'alamiin atas segala nikmat yang telah Allah berikan kepada diri ini secara gratis sehingga diri ini bisa menulis dan berbagi dalam tulisan ini. dan tak lupa sholawat serta salamku akan tetap tercurah dan terpanjatkan hanya untuk baginda sayyidina Muhammad ibni Abdillah S.A.W. beserta keluarga dan para sahabatnya. Bismillahir rohmaanir rohiim,kali ini kita akan mencoba apa yang namanya redirect dengan header php. redirect sudah dijelaskan diatas juga b...

bootstrap tutorial 3 : membuat sidebar bootstrap responsive sederhana

setelah sebelumnya kita sudah mencoba membuat header responisve bootstrap, pada kesempatan kali ini mari kita bersama mencoba untuk membuat sidebar Sederhana dengan Bootstrap dan tentunya juga sidebar yang responsive sehingga nantinya akan terbentuk suatu website yang responsive. sidebar dalam website biasanya dibuat maksimal 3 sidebar yaitu sidebar kiri tengah dan kanan atau istilah lainnya yaitu 3 column. tapi sekarang kita mencoba untuk membuat yang dua column saja karena saya lebih suka yang simple dan intinya tidak terlalu banyak koding, karena capek untuk mengetik kodingnya hehehehe. seperti biasa sebelum kita mencoba cara membuat sidebar dengan bootstrap seperti biasa izinkan diri ini untuk memngucapkan Salam Sobat semua Alhamdulillahi robbil 'alamiiin atas segala nikmat yang telah Allah berikan kepada ini secara gratis sehingga diri ini bisa menulis dan berbagi dalam tulisan ini dengan kalian. tak lupa sholawat serta salamku akan tetap terpanjat dan tercurahkan hanya untuk ...

bootstrap tutorial 5 : membuat dashboard admin bootstrap

Dan kali ini mari bersama kita mencoba untuk membuat layout atau template dashboard admin dengan bootstrap setelah sebelumnya kita sudah pernah mencoba membuat template simple admin dashboard dengan html,css dan jquery . karena page admin dashboard ini memang wajib untuk pembuat applikasi web kita nantinya. tapi seperti biasanya sebelum memulai percobaan kita untuk membuat simple template admin dashboard dengan bootstrap izinkan diri ini terlebih dahulu untuk mengucapkan Salam sobat semua Alhamdulillahi robbil 'alamiin atas segala nikmat yang telah Allah berikan kepada diri ini secara gratis sehingga diri ini bisa menulis dan berbagi dengan kalian dalam tulisan ini. tak lupa sholawat serta salamku akan tetap tercurah dan terpanjatkan hanya untuk junjungan Sayyidina Muhammad ibni Abdillah S.A.W. beserta keluarga dan para sahabatnya. Bismillahir rohmanir rohiim, kali ini mari kita bersama mencoba membuat dashboard admin template dengan bootstrap yang simple atau sederhana tapi elegan...

source code sistem informasi pemesanan

sudah lama tidak update tulisan di blog ini di karenakan kesibukan di dunia nyata yang memaksa harus tidak menulis. sebenarnya banyak sekali yang yang ingin share dalam tulisan blog ini. salah satunya yaitu aplikasi - aplikasi buatan saya sendiri yang insya Allah saya share dengan source codenya untuk bahan pembelajaran yang diantaranya ada source code program kasir, source code absensi siswa, source code toko online atau source code pasar online dan lainnya yang pernah saya buat. mungkin dengan bantuan doa dari kalian bisa untuk menuliskan semua apa yang saya punya dan apa yang saya ingin bagikan dalam tulisan ini bisa tertulis dan tersimpan semua disini. pada kali ini saya ingin mendemokan sebuah aplikasi sistem informasi pemesanan berbasis web. namun sistem aplikasi kali ini lbih cenderung kepada pemesanan usaha percetakan. namun applikasi ini saya buat untuk global. sehingga bisa diapplikasikan dalam usaha apapun yang ada proses pemesanannnya. seperti biasa sebelum kita mulai izink...

Belajar HTML dasar-3,mengenal dan mencoba tag paragrap dan break

Segala puji bagi Allah yang masih memberikan kepada kita kesempatan untuk saling bermaafan. Dan di waktu yang istimewa ini saya ingin mengucapkan Selamat Hari raya Idul Fitri 1442 Hijriah, Mohon Maaf lahir dan batin.  pada kesempatan kali ini kita akan mencoba suatu tag yang bernama tag paragrap dan tag break di mana kedua tag ini sama sama fungsinya untuk membuat baris baru. namun ada beberapa perbedaan di antara kedua tag tersebut. oke langsung saja kita lihat apa saja perbedaan dari keduanya - buka file html yang kemaren sudah di download, kemudian copy paste pada new tab notepad++ nya. atau langsung saja copy paste berikut <html> <head> <title>Website Pertama</title> </head> <body> </body> </html> - setelah itu save dan beri nama terserah kalian. dan jangan lupa save dengan ekstensi .html. - di antara tag <body> kita sisipkan atau kita kasih tag <p> yang artinya paragraph seperti berikut <html...

fungsi terbilang dengan javascript

setelah sebelumnya kita sudah pernah mencoba fungsi terbilang dengan php. pada kali ini mari kita bersama mencoba untuk membuat fungsi terbilang dengan javascript. dan untuk fungsi terbilang kali ini kita adopsi saja kode fungsi terbilang dari php yang sudah sebelumnya kita coba. seperti biasanya izinkan diri ini terlebih dahulu untuk mengucapkan Salam sobat semua Alhamdulillahi robbil 'alamiin atas segala nikmat yang telah Allah berikan kepada diri ini sehingga diri ini bisa menulis dan berbagi dalam tulisan ini, tak lupa sholawat serta salamku akan tetap tercurah dan terpanjatkan hanya untuk baginda Sayyidina Muhammad ibni Abdillah S.A.W. beserta keluarga dan para sahabatnya. Bismillahir rohmaanir rohiim, kali ini kita akan mencoba fungsi terbilang versi javascriptnya, dan untuk alur algoritmanya kita adopsi saja dari kode php yang sebelumnya pada tulisan fungsi terbilang dengan php . langsung saja kita ke dalam penerapan kode javascriptnya. seperti biasa kita tulis dulu untuk i...

cara membuat simple admin dashboard html css

Dalam website atau applikasi berbasis web ada yang sering saya juga kadang harus dan wajib membuatnya yaitu page admin dashboard. Apa itu page admin dashboar html?page admin dashboard html itu tempat melakukan proses pengolahan data server yang dilakukan oleh seorang admin ataupun staff menurut masing-masing level akun. Dan kali ini kita akan mencoba untuk membuat simple admin dashboard html css javascript. Tapi seperti biasa sebelum kita mulai izinkan diri ini terlebih dahulu untuk mengucapkan Salam sobat semua Alhamdulillahi robbil ‘alamiiin atas segala nikmat yang telah Allah berikan kepada diri ini secara gratis sehingga diri ini bisa menulis dan berbagi dalam tulisan ini, dan tak lupa sholawat serta salamku akan tetap tercurah dan terpanjatkan hanya untuk baginda sayyidina Muhammad ibni Abdillah S.A.W. beserta keluarga dan para sahabatnya. Bismillahir rohmaanir rohiim, setelah kita mencoba beberapa hal dalam kode html,css dan javascript. Mari kita bersama kali ini kita latih seidk...