cara upload file di php Langsung ke konten utama

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 

 

 



Komentar

Postingan populer dari blog ini

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...

menampilkan enter textarea php

pada penulisan kita pada textarea jika langsung kita tampilkan terkadang atau bahkan enter yang kita buat pada textarea tidak akan tampil atau tidak work atau tidak berfungsi, karena pada html enter itu adalah tag br atau tag break seperti yang sudah kita coba pada penulisan sebelumnya disini https://notemazdopunk.blogspot.com/2021/05/belajar-html-part-3-mengenai-tag.html . jadi kali ini kita akan mencoba Text Area agar enter terbaca dengan PHP. tapi seperti sebelumny izinkan diri ini terlebih dahulu untuk mengucapkan Salam sobat semua Alhamdulillahi Robbil 'alamiin segala puji bagi Allah S.W.T. yang telah memberi nikmat kepada diri ini secara gratis sehingga diri ini bisa menulis dan berbagi lagi dalam tulisan ini. tak lupa sholawat serta salam akan tetap terpanjat dan tercurahkan atas baginda Sayyidina Muhammad ibni Abdillah S.A.W. beserta kepada keluarga dan sahabat beliau. Bismillahir rohmaanir rohiim kali ini kita akan mencoba membuat enter textarea pada tampilan html atau php...

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...

membuat perulangan bintang dengan php

pada kali ini kita mencoba bermain dengan pengasahan logika, setelah kita sebelumnya sudah pernah mencoba perulangan dalam tulisan PHP dasar 7 : 3 macam perulangan php . sekarang mari kita coba mengasah logika kita dengan membuat perulangan dalam bentuk bintang karena menurut saya logika nya ini sangat unik untuk dibuat. tapi seperti sebelumnya izinkan diri ini untuk 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. 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, mari kali ini kita bersama-sama mencoba membuat perulangan dengan tulisan bintang dengan berbagai bentuk. untuk bentuk yang pertama kali adalah perulangan bentuk standard yaitu membuat perulangan dengan dengan...

bootstrap tutorial 4 : membuat form login bootstrap sederhana

setelah sebelumnya kita sudah mencoba membuat layout form login website responsive sederhan dengan html dan css , maka sekarang kita akan mencoba membuat responsive form login sederhana dengan bootstrap. karena form login ini juga merupakan bagian terpenting dalam suatu applikasi berbasis web. namun 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, tak lupa sholawat serta salamku akan tetap tercurah dan terpanjatkan hanya untuk Junjungan baginda sayyidina Muhammad ibni Abdillah S.A.W. beserta keluarga dan para sahabatnya. Bismillahir rohmanir rohiim, mari kali ini kita bersama-sama mencoba membuat form login yang responsive dan sederhana dengan bootstrap, sehingganya ketika nanti kita mau buat suatu applikasi berbasis web sudah tidak bingung mencari sana-sini lagi, karena kita sudah pu...

Install Mysql Connector ODBC pada windows 8 atau windows 10

Salam sobat semua Alhamdulillah saya panjatkan di waktu ini karena bisa menulis,membuat video dan berbagi lagi. untuk kali ini saya akan berbagi sesuatu yang mungkin untuk kebanyakan orang applikasi ini kurang penting atau bahkan tidak penting sama sekali, tapi untuk para programer atau coder ini sangat penting dan aplikasi ini sudah bertahun tahun menemani saya membuat program database mysql.dari namanya saja mysql connector, maka fungsi dari applikasi ini adalah untuk mengkoneksikan dari applikasi visual ke database mysql. kurang lebihnya seperti itu. jadi nanti kalo pemrograman visual sudah sampai pada pembuatan data base maka kita butuh applikasi kecil ini.oke langsung saja bagaimana cara installnya. karena cara installnya juga sangat sangat mudah sekali - download dulu applikasinya disini 1. ekstrak applikasi yang baru saja di download  2. klik dua kali aplikasi installernya atau .msi aplikasinya,dan kemudian klik next ketika sudah keluar atau tombol next seperti pada gambar 3...

Penggunaan data variable visual basic

seperti halnya php dan pemrograman lainnya, didalam visual basic juga terdapat istilah data dan variable. namun aturan penulisan variabel pada visual basic ini sedikit berbeda dengan pemrograman php dan pemrograman lainnya. sehingga kita juga harus mengetahui dan memahami penggunaan data dan variable visual basic dan kita juga harus mengetahui dan memahami bagaimana aturan penulisan variabel pada visual basic karena data dan variable pada visual basic akan sering digunakan dalam setiap pembuatan program atau applikasi dengan visual basic nantinya. seperti biasa sebelum kita memulainya maka izinkan diri ini terlebih dahulu untuk mengucapkan salam sobat semua Alhamdulillahi Robbil 'alamiin segala puji bagi Allah pencipta semesta alam ini yang telah memberikan nikmat kepada diri ini secara gratis sehingga diri ini bisa menulis dan berbagi dalam tulisan ini. dan tak lupa sholawat serta salam akan tetap tercurah dan terpanjatkan untuk baginda Sayyidina Muhammad ibni Abdillah beserta kep...