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

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

javascript dasar : cara menampilkan value checkbox javascript

sebelumnya kita sudah mencoba untuk check checkbox dan uncheck checkbox. sekarang kita bagaimana caranya mendapatkan nilai dari checkbox yang sudah kita check atau sudah kita pilih dan menampilkan nilai checkbox tersebut secara multiple checkbox ataupun tidak. namun 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 secara gratis sehingga diri ini bisa menulis dan berbagi dalam tulisan. tak lupa sholawat serta salamku akan tetap tercurah dan terpanjatkan hanya untuk junjungan baginda sayyidina Muhammad ibni Abdillah S.A.W. beserta keluarga dan sahabatny. Bismillahir rohmaanir rohiim, kali ini kita akan mencoba mengambil nilai checkbox dengan javascript dan menampilkan checkbox yang terpilih baik secara multiple checkbox ataupun tidak. karena setelah kita tahu untuk melakukan check select all checkbox kita wajib tahu bagaimana cara mendapatkan nilai checkbox ...

jquery dasar : cara menampilkan value checkbox jquery

untuk kesempatan kali ini kita akan mencoba mengambil nilai atau value checkbox versi jquerynya dan cara menampilkan nilai atau value checkbox versi jquerynya. seperti biasa izinkan diri ini terlebih dulu 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. tak lupa sholawat serta salamku akan tetap tercurah dan terpanjatkan hanya untuk junjungan baginda sayyidina Muhammad ibni Abdillah S.A.W. beserta keluarga dan sahabatny. Bismillahir rohmaanir rohiim,setelah sebelumnya kita sudah mencoba mengambil nilai atau value checkbox javascript pada tulisan sebelumnya yaitu pada tulisan javascript dasar : cara menampilkan value checkbox javascript . kali ini kita akan mencoba yang versi jquerynya yaitu kita akan mencoba bagaimana caranya mengambil nilai checkbox dengan jquery dan cara menampilkan checkbox yang terpilih baik secara multiple check...

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