PHP Upload

Définition

Exemple d'upload de fichier (formulaire HTML + fichier PHP)

<!-- **************************** -->
<!-- Fichier HTLM avec formulaire -->
<!-- **************************** -->

<!DOCTYPE html>

<html>

	<head>
		<title>Exemple</title>
		<meta charset="UTF-8" />
	</head>

<body>

<h1>Formulaire d'upload de fichier</h1>

	<form action="recup_fichier.php" method="POST" enctype="multipart/form-data">

		<!-- la taille du fichier est ici limitée à 102400 octect = 100 ko -->
		<input type="hidden"  name="MAX_FILE_SIZE" value="102400">

		<!-- le type file pour l'upload de fichier -->
		<input  type="file" name="fichierChoisi" size="60">

		<!-- le bouton de soumission du formulaire -->
		<input type="submit" name="telechargement"  value="telecharger">

	</form>

</body>

</html>

<!-- ************************************************************** -->
<!-- Fichier recup_fichier.php récupérant les données du formulaire -->
<!-- ************************************************************** -->

<!DOCTYPE html>

<html>

	<head>
		<title>Exemple</title>
		<meta charset="UTF-8" />
	</head>

<body>

<h1>Récupération du fichier</h1>
<h1>Les insformations sont récupérables dans un tableau associatif $_FILES</h1>

<?php

	echo "<h1>Nom d'origine du fichier : <h1>";
	echo $_FILES['fichierChoisi']['name'] ;

	echo "<h1>Type MIME du fichier : <h1>";
	echo $_FILES['fichierChoisi']['type'] ;

	echo "<h1>Taille en octets du fichier. : <h1>";
	echo $_FILES['fichierChoisi']['size'] ;

	echo "<h1>Nom temporaire du fichier stocké sur le serveur : <h1>";
	echo $_FILES['fichierChoisi']['tmp_name'] ;


	// **********************************************
	// Plusieurs fonctions spécialisées permettent 
	// la validation d'un fichier téléchargé pour son utilisation ultérieure. 
	// La fonction is_uploaded_file 
	// indique si le fichier a bien été téléchargé par la méthode POST.
	// **********************************************

	$verif = is_uploaded_file( $_FILES['fichierChoisi']['tmp_name']); 

	if ($verif == true)
		{
			echo "Le fichier a bien été téléchargé !" ;
		}
	else
		{
			echo "Erreur lors du téléchargement" ;
		}


	// **********************************************
	// La fonction move_uploaded_file 
	//déplace un fichier téléchargé.
	// **********************************************

	$tmp_name = $_FILES['fichierChoisi']['tmp_name'] ; 
	$name = $_FILES['fichierChoisi']['name'] ;
	$uploads_dir = '/uploads';

	$verif = move_uploaded_file( $tmp_name, $uploads_dir."/".$name); 

	if ($verif == true)
		{
			echo "Le fichier a bien été déplacé dans le répertoire de destination prévu !" ;
		}
	else
		{
			echo "Erreur lors du déplacement du fichier sur le serveur" ;
		}


?>

</body>

</html>

 

IMPORTANT : Attention à l'upload de fichiers PHP

C'est une faille de sécurité !
Il faut ABSOLUMENT interdire l'UPLOAD de fichiers PHP