Skip to content

Instantly share code, notes, and snippets.

@erowsika
Last active November 19, 2021 12:32
Show Gist options
  • Save erowsika/ed4525b0e5daf29815ac44cb259f5d76 to your computer and use it in GitHub Desktop.
Save erowsika/ed4525b0e5daf29815ac44cb259f5d76 to your computer and use it in GitHub Desktop.
<?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