File "upload_work01.php"

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

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Upload de fichiers avec AJAX</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
	
	<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>

<form id="uploadForm">

	<div id="file_count"></div>
	<input type="file" id="uploadFile" name="FileUpload" multiple="multiple" />
	
<!--
    <input type="text" id="stringData" placeholder="Entrez une chaîne" required>
-->    

<!--	
	<input type="file" id="fileInput" multiple required>
-->	
	
    <button type="submit">Envoyer</button>
	
</form>

	<div id="upload_prev"></div>



<script>

	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();
	});

    $(document).ready(function() 
	{
        $('#uploadForm').on('submit', function(event)
		{
			console.log("Superman...");
			
            event.preventDefault(); // Empêche le rechargement de la page
			
			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 concate_file_name = array_valide_file.join();

			console.log("--->>> " + concate_file_name);

/************* deplacer *****************/			
            //const stringData = $('#stringData').val();
			const listeFile = $('#uploadFile')[0].files;
            
			const formData = new FormData();
            
            formData.append('stringData', concate_file_name);

            for (let i = 0; i < listeFile.length; i++) 
			{
                formData.append('files[]', listeFile[i]);
            }
			
			for (let keyValue of formData.entries()) 
			{
				console.log(keyValue);
			}
			
/*******************************/

            // Envoie la requête AJAX
            $.ajax({
                url: 'upload_file01.php', // Remplace par le chemin vers ton script PHP
                type: 'POST',
                data: formData,
                processData: false, // Ne pas traiter les données
                contentType: false, // Ne pas définir le type de contenu
                success: function(response) {
                    console.log('Réponse du serveur :', response);
                },
                error: function(xhr, status, error) {
                    console.error('Erreur :', error);
                }
            });
			
/*			
			$.ajax({
				data:  { file_liste: array_valide_file },
				type: "post",
				url: "create_fichier.php",
				success: function(data)
				{
					alert(data);
					
					const listeFile = $('#uploadFile')[0].files;
            		const formData = new FormData();
            		formData.append('stringData', data);

					for (let i = 0; i < listeFile.length; i++) 
					{
						formData.append('files[]', listeFile[i]);
					}
					
					$.ajax({
						url: 'upload_file01.php', // Remplace par le chemin vers ton script PHP
						type: 'POST',
						data: formData,
						processData: false, // Ne pas traiter les données
						contentType: false, // Ne pas définir le type de contenu
						success: function(response) 
						{
							console.log('Réponse du serveur :', response);
						},
						error: function(xhr, status, error) 
						{
							console.error('Erreur :', error);
						}
					});
				}
			});
*/
			
        });
		
		
    });
</script>

</body>
</html>