File "base.php"

Full Path: /home/analogde/www/30_09_2024/base.php
File size: 4.55 KB
MIME-type: text/html
Charset: utf-8


<!--

https://wiki.hoelee.com/stackoverflow.com_en_all_2023-05/questions/49823584/how-to-get-total-file-size-of-multiple-files-upload-using-jquery

https://stackoverflow.com/questions/49828358/how-to-display-total-file-size-of-multiple-files-upload-using-jquery

-->


<!DOCTYPE html>
<html>
<head>
    <style>
	
	input[type="file"] {

width:100px;

overflow: hidden;

}
	
        .filenameupload {
  width: 98%;
}

#upload_prev {
  border: thin solid #000;
  width: 65%;
  padding: 0.5em 1em 1.5em 1em;
}

#upload_prev span {
  display: flex;
  padding: 0 5px;
  font-size: 12px;
}
    </style>
</head>
<body>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

	<div id="file_count"></div>
	<input type="file" id="uploadFile" name="FileUpload" multiple="multiple" />
	
	<input type="button" value="Envoi" onclick="debug_evolution()" /> 
	
	<div id="upload_prev"></div>

	

	<div id="mess">coucou....</div>
	
	<div id="server_response">Pas de réponse du serveur</div>

<script type="text/javascript">
        var fileCount = 0;

var showFileCount = function() 
{
  $('#file_count').text('# Files selected: ' + fileCount);
};

showFileCount();

$(document).on('click', '.close', function() {
  $(this).parents('span').remove();
  fileCount -= 1;
  showFileCount();
})

$('#uploadFile').on('change', function() {

  var filename = this.value;
  var lastIndex = filename.lastIndexOf("\\");
  if (lastIndex >= 0) {
    filename = filename.substring(lastIndex + 1);
  }
  var files = $('#uploadFile')[0].files;
  for (var i = 0; i < files.length; i++) {
    $("#upload_prev").append('<span>' + '<div class="filenameupload">' + files[i].name + '</div>' + '<p class="close" >X</p></span>');
  }
  fileCount += files.length;
  showFileCount();
});

function xhr_send(data)
{
			document.getElementById("server_response").innerHTML = "tempo....";
			
			var url = "upload_files_base01.php";

			var xhr = new XMLHttpRequest();

			xhr.open("POST", url, true);

			//xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); //no longer necessary here

			xhr.onreadystatechange = function()
			{
				if(xhr.readyState == 4 && xhr.status == 200)
				{
					document.getElementById("server_response").innerHTML = "retour ..."; //xhr.responseText;
				}
			}

			xhr.send(data); 
}

function debug_evolution()
{
			console.log("---->>>>>");
	
			array_valide_file = [];

			let numb = document.getElementById("upload_prev").childNodes.length;
			console.log(" ----- " + numb);

			var theDiv = document.getElementById('upload_prev').children;
			console.log(" ++++ " + theDiv.length);

			for (var i = 0; i < theDiv.length; i++) 
			{
				if (theDiv[i].tagName == 'SPAN')
				{ 
					var pipo = theDiv[i].children;
					console.log(" On a deux éléments dans le span" + pipo.length  );
					array_valide_file.push( pipo[0].innerHTML );
				}
			}

			for (i = 0; i < array_valide_file.length; i++)
			{
				console.log("Contenu " + i + "  " + array_valide_file[i] );
			}

			var fileInput = document.getElementById('uploadFile');
			
			var formData = new FormData();

			for (var i = 0; i < fileInput.files.length; ++i) 
			{
				var name = fileInput.files.item(i).name;
				console.log("here is a file name: " + name);

				for (var j = 0; j < array_valide_file.length; ++j) 
				{
					//if( array_valide_file.includes(name) )
					if( name == array_valide_file[j])
					{
						console.log(" Bingo envoi  " + name ); 
						// maintenant on va remplir le nouveau Formdata
						//formData.append("files", fileInput.files[i]);
						formData.append('file', fileInput.files[i]);
					}
					
					
				}
			}


			/*for (var pair of formData.entries()) 
			{
				console.log(pair[0]+ ', ' + pair[1]); 
			}*/

			for (let keyValue of formData.entries()) 
			{
				console.log(keyValue);
			}

			/*for (var newfile of formData.getAll('files'))
			{
				console.log(newfile.name);
				console.log(newfile.size);
			} */ 


			console.log("TRACE....");
			//xhr_send(formData);
			
			
			/*const aliments = ["voiture", "Chocolat", "Pomme"];
			const jsonData = JSON.stringify(aliments);
			
			$.ajax({ url: "upload_files_base01.php", 
					type: "POST", 
					data: { liste : jsonData }, 
					success: function(response) 
					{  
						alert("response");
					} 
					
					});
			*/		
					
		var vehicle = [];
		vehicle.push("aaa");
		vehicle.push("bbb");
		vehicle.push("ccc");
        
    
		$.ajax({
				data:  { vehicle: vehicle },
				type: "post",
				url: "upload_files_base01.php",
				success: function(data)
				{
					alert(data);
				}
		});

            	
}

    </script>
</body>
</html>