upload ukuran 5gb xampp
Untuk mengubah kode agar dapat mengunggah file hingga 5 GB menggunakan jQuery AJAX dan PHP, Anda perlu memastikan beberapa hal:
Pengaturan di PHP:
- Ubah pengaturan
upload_max_filesize
danpost_max_size
di filephp.ini
agar mendukung ukuran file besar. - Pastikan
max_execution_time
cukup tinggi untuk menghindari timeout selama pengunggahan file besar.
- Ubah pengaturan
Kode JavaScript dan HTML:
- Tidak perlu perubahan signifikan di JavaScript atau HTML kecuali Anda ingin menambahkan validasi ukuran file di sisi klien.
Berikut adalah langkah-langkah detailnya:
1. Ubah Pengaturan di PHP
Edit file php.ini
dan tambahkan atau ubah baris berikut:
iniupload_max_filesize = 5G
post_max_size = 5G
max_execution_time = 6000
max_input_time = 6000
Setelah mengubah php.ini
, pastikan untuk me-restart server web Anda (misalnya, Apache atau Nginx) agar perubahan diterapkan.
2. Validasi Ukuran File di Sisi Klien (Opsional)
Anda dapat menambahkan validasi ukuran file di sisi klien untuk memastikan file tidak lebih besar dari 5 GB sebelum diunggah.
Kode Lengkap dengan Validasi Ukuran File
html<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Upload File dengan Progress Bar menggunakan jQuery AJAX di PHP</title>
<link href="style.css" rel="stylesheet">
<link href="progress-bar.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body id="top">
<header id="header">
<div class="content">
<h1>Demo</h1>
<p>Upload File dengan Progress Bar<br />
menggunakan jQuery AJAX di PHP</p>
<ul class="actions">
<!-- Form upload file -->
<form id="uploadForm" enctype="multipart/form-data">
<input type="file" name="file" id="fileInput">
<input type="submit" name="submit" value="UPLOAD"/>
</form>
<!-- Progress bar -->
<div class="progress">
<div class="progress-bar"></div>
</div>
<!-- Menampilkan status upload (sukses/gagal) -->
<div id="uploadStatus"></div>
</ul>
<small><a href="http://codingan.com/upload-file-dengan-progress-bar-menggunakan-jquery-ajax-di-php">Tutorial</a></small><br><br>
</div>
</header>
</body>
<script>
$(document).ready(function(){
// upload file via AJAX
$("#uploadForm").on('submit', function(e){
e.preventDefault();
var file = $('#fileInput')[0].files[0];
var maxSize = 5 * 1024 * 1024 * 1024; // 5 GB
if(file.size > maxSize){
alert('File terlalu besar. Ukuran maksimum adalah 5 GB.');
return false;
}
$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function(evt) {
if (evt.lengthComputable) {
var percentComplete = ((evt.loaded / evt.total) * 100);
$(".progress-bar").width(percentComplete + '%');
$(".progress-bar").html(percentComplete.toFixed(2) + '%');
}
}, false);
return xhr;
},
type: 'POST',
url: 'upload.php',
data: new FormData(this),
contentType: false,
cache: false,
processData: false,
beforeSend: function(){
$(".progress-bar").width('0%');
$('#uploadStatus').html('<img src="loading.gif"/>');
},
error: function(){
$('#uploadStatus').html('<p style="color:#EA4335;">Upload file gagal, silakan coba lagi.</p>');
},
success: function(resp){
if(resp == 'ok'){
$('#uploadForm')[0].reset();
$('#uploadStatus').html('<p style="color:#28A74B;">File berhasil diupload!</p>');
}else if(resp == 'err'){
$('#uploadStatus').html('<p style="color:#EA4335;">Silakan pilih file yang valid untuk diupload.</p>');
}
}
});
});
// memvalidasi file
$("#fileInput").change(function(){
var allowedTypes = [
'application/pdf', 'application/msword', 'application/vnd.ms-office',
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
'image/jpeg', 'image/png', 'image/jpg', 'video/mp4', 'image/gif',
'application/x-iso9660-image', 'application/vnd.rar'
];
var file = this.files[0];
var fileType = file.type;
if(!allowedTypes.includes(fileType)){
alert('Silakan pilih file yang valid (PDF/DOC/DOCX/JPEG/JPG/PNG/GIF/ISO/RAR).');
$("#fileInput").val('');
return false;
}
});
});
</script>
</html>
upload.php
Contoh Sederhana
Berikut adalah contoh sederhana untuk upload.php
:
php<?php
if(isset($_FILES['file']['name'])){
/* Nama file */
$filename = $_FILES['file']['name'];
/* Lokasi penyimpanan */
$location = 'uploads/' . $filename;
/* Ekstensi file */
$file_extension = pathinfo($location, PATHINFO_EXTENSION);
$file_extension = strtolower($file_extension);
/* Ekstensi file yang diizinkan */
$valid_ext = array("pdf","doc","docx","jpeg","jpg","png","gif","iso","rar","mp4");
/* Memeriksa apakah file valid */
if(in_array($file_extension,$valid_ext)){
/* Pindahkan file ke lokasi */
if(move_uploaded_file($_FILES['file']['tmp_name'],$location)){
echo "ok";
}else{
echo "err";
}
}else{
echo "err";
}
}
?>
Dengan pengaturan ini, Anda harus bisa mengunggah file hingga 5 GB menggunakan jQuery AJAX dan PHP. Pastikan bahwa server Anda memiliki cukup ruang penyimpanan dan bandwidth untuk menangani file sebesar itu.
0 Comments: