Selasa, 07 Februari 2023

Upload File

 Untuk upload file ada beberapa bagian file sbb :

1.upload_ui.php

2.upload_function.php

3.upload_receive.php

4.upload_report


Catatan:

-ukuran file yang diupload default maksimal 2MB (menyesuaikan config php pada server)

1.upload_ui.php
<?php
	include "upload_function.php";
	if(!session_id()){session_start();}; 
?>
<!-- script src="jquery-1.12.4.js" > </script -->

Pilih File: 
<input id="btn_file" type="file" required="required"> <br>
<button onclick="upload_file(document.getElementById('btn_file'));"> Send </button> <br>

<div id="div_process"> </div>


2.upload_function.php
<script src="jquery-1.12.4.js" > </script>

<script>

	function upload_file(a_file_object) 
	{	
		//check if file selected
		var file_count=a_file_object.files.length;
		if(a_file_object.files.length<1)
		{
			alert("no files to upload!");
			return;
		}
		
		//check size limit max 2MB
		if(a_file_object.files[0].size>2000000)
		{
			var num=a_file_object.files[0].size/1000000;
			
			alert("max file size = 2MB \r"+"your file size = "+num.toFixed(1)+" MB");
			return;
		}
						
		//cek support formdata and upload	
		var form_data=false;
		if(window.FormData)
		{
			//create temporer object
			var div_upload=document.createElement('div');
			
			
			form_data=new FormData();
			form_data.append("x_file",a_file_object.files[0]);	
			$.ajax
			(
				{
					url: "upload_receive.php",
					type: "POST",
					data: form_data,
					processData: false,
					contentType: false,
					success:function(returndatafromserver)
					{   
						$('#div_process').load("upload_report.php");
					},
				}
			);	
		}else
		{
			alert("cant upload data , sistem unsupport form data");
		}
	}
</script>


3.upload_receive.php
<?php
	error_reporting(E_ERROR);
	if(!session_id()){session_start();}; 	

	$_SESSION['file_name']=$_FILES["x_file"]["name"];
	$_SESSION['upload_success']=false;
	$target_file=$_FILES["x_file"]["name"];
	if(move_uploaded_file($_FILES["x_file"]["tmp_name"], $target_file)) 
	{$_SESSION['upload_success']=true;}
?>


4.upload_report.php
<?php 
if(!session_id()){session_start();}; 

if($_SESSION['upload_success'])
{
	echo "<script>";
	echo "alert('upload success :  ".$_SESSION['file_name']."');";
	echo "</script>";
}else
{
	echo "<script>";
	echo "alert('upload failed :  ".$_SESSION['file_name']."');";
	echo "</script>";	
}
?>