Last active
November 19, 2021 12:32
-
-
Save erowsika/ed4525b0e5daf29815ac44cb259f5d76 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
$eror = false; | |
$pesan = 'Maaf'; | |
//type file yang bisa diupload | |
$file_type = [ | |
'jpg', | |
'jpeg', | |
'gif', | |
'bmp', | |
'png', | |
'jpg', | |
'jpeg', | |
'gif', | |
'bmp', | |
'png', | |
'jpg', | |
'jpeg', | |
'gif', | |
'bmp', | |
'png' | |
]; | |
//tukuran maximum file yang dapat diupload | |
$max_size = 2097152; // 2mb to bytes | |
//Mulai memorises data | |
$t = time(); // generate timestamp untuk identifikasi file unik | |
$folder = __DIR__ . '/upload/foto/'; // gunakan selalu absolute path demi keamanan | |
$file_name = basename($_FILES['data_upload']['name']); // filter treversal path demi keamanan | |
$file_size = $_FILES['data_upload']['size']; | |
//cari extensi file dengan menggunakan api php | |
$extensi = pathinfo($file_name, PATHINFO_EXTENSION); | |
$file_name = 'ARSIP_' . $t . '.' . $extensi; | |
//check apakah type file sudah sesuai | |
if (!in_array($extensi, $file_type)) { | |
$eror = true; | |
$pesan .= '- Type file yang anda upload tidak sesuai<br />'; | |
} | |
if ($file_size > $max_size) { | |
$eror = true; | |
$pesan .= '- Ukuran file melebihi batas maximum<br />'; | |
} | |
//check ukuran file apakah sudah sesuai | |
if ($eror == true) { | |
echo '<div id="eror">' . $pesan . '</div>'; | |
} else { | |
//mulai memproses upload file | |
if (move_uploaded_file($_FILES['data_upload']['tmp_name'], $folder . $file_name)) { | |
//catat nama file ke database | |
$catat = "insert into file_upload(`folder`, `nama_file`) values ('$folder', '$file_name')"; | |
if ($conn->query($catat) === TRUE) { | |
$pesan = "Data Berhasil Disimpan"; | |
} else { | |
$pesan = "Error: " . $conn->error; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment