Bonjour,

Je pense que ça doit être bête, mais je cherche depuis pas mal de temps, alors je pense que des yeux neufs verront le souci en 2 secondes.

J'ai une page de test pour uploader un fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<center>
<H1A> Page de test </H1A>
<br><br>
 
<?php
/************************************************************
 * Definition des constantes / tableaux et variables
 *************************************************************/
 
// Constantes
define('TARGET', 'images/trombinoscope/');    // Repertoire cible
define('MAX_SIZE', 200000);    // Taille max en octets du fichier
define('WIDTH_MAX', 800);    // Largeur max de l'image en pixels
define('HEIGHT_MAX', 800);    // Hauteur max de l'image en pixels
 
// Tableaux de donnees
$tabExt = array('jpg','gif','png','jpeg');    // Extensions autorisees
$infosImg = array();
 
// Variables
$extension = '';
$message = '';
$nomImage = '';
 
print "POST : "; print_r($_POST);echo "<br>";
print "FILES : "; print_r($_FILES);echo "<br>";
if(!empty($_POST)) {
	// On verifie si le champ est rempli
	if( !empty($_FILES['fichier']['name']) )
	{
		// Recuperation de l'extension du fichier
		$extension  = pathinfo($_FILES['fichier']['name'], PATHINFO_EXTENSION);
 
		// On verifie l'extension du fichier
		if(in_array(strtolower($extension),$tabExt))
		{
			// On recupere les dimensions du fichier
			$infosImg = getimagesize($_FILES['fichier']['tmp_name']);
 
			// On verifie le type de l'image
			if($infosImg[2] >= 1 && $infosImg[2] <= 14)
			{
				// On verifie les dimensions et taille de l'image
				if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier']['tmp_name']) <= MAX_SIZE))
				{
					// Parcours du tableau d'erreurs
					if(isset($_FILES['fichier']['error'])
							&& UPLOAD_ERR_OK === $_FILES['fichier']['error'])
					{
						// On renomme le fichier
						$nomImage = md5(uniqid()) .'.'. $extension; // md5(uniqid()) permet de sécuriser l'image
 
						// Si c'est OK, on teste l'upload
						if(move_uploaded_file($_FILES['fichier']['tmp_name'], TARGET.$nomImage))
						{
							echo 'Upload réussi !';
						}
						else
						{
							// Sinon on affiche une erreur systeme
							echo 'Problème lors de l\'upload !';
						}
					}
					else
					{
						echo 'Une erreur interne a empêché l\'uplaod de l\'image';
					}
				}
				else
				{
					// Sinon erreur sur les dimensions et taille de l'image
					echo 'Erreur dans les dimensions de l\'image !';
				}
			}
			else
			{
				// Sinon erreur sur le type de l'image
				echo 'Le fichier à uploader n\'est pas une image !';
			}
		}
		else
		{
			// Sinon on affiche une erreur pour l'extension
			echo 'L\'extension du fichier est incorrecte !';
		}
	}
	else 
		echo "Aucun fichier à uploader";
}
?>
 
<div id="bloc">
	<form method="post" action="" id="form_inscription">
		<label> Télécharger une photo : </label>
			<input name="fichier" type="file" id="fichier_a_uploader" /> <br/>
		<br/>
		<center>
			<input type="submit" value="Enregistrer" name="submit" />
		</center>
	</form>
</div>
</center>
Voici le résultat :
Page de test

POST : Array ( [fichier] => all black.jpg [submit] => Enregistrer )
FILES : Array ( )
Aucun fichier à uploader
Merci pour votre aide

Eddy