Je suis en train de monter un script tout bête d'upload d'avatar sur mon site et j'ai cet affreux message d'erreur :

[27-Mar-2010 20:08:17] PHP Warning: move_uploaded_file(avatar/) [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: failed to open stream: Is a directory in /home/estoriai/public_html/profil.php on line 238
[27-Mar-2010 20:08:17] PHP Warning: move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: Unable to move '/tmp/phpdAROB6' to 'avatar/' in /home/estoriai/public_html/profil.php on line 238

Quelqu'un pourrait-il m'aider à en trouver l'origine ? Voici mon code :

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
 
<?php
if (isset($_FILES['avatar']))
{
	// Vérifier les éventuelles erreurs
	if ($_FILES['avatar']['error'] == 0)
	{
		// Vérifier la taille du fichier
		if ($_FILES['avatar']['size'] <= 10240)
		{
			// Vérifier l'extension du fichier
			if ($_FILES['avatar']['type'] != 'image/png' && $_FILES['avatar']['type'] != 'image/jpeg' && $_FILES['avatar']['type'] != 'image/jpg' && $_FILES['avatar']['type'] != 'image/gif')
			{
				echo 'Votre avatar doit être au format jpeg, jpg, gif ou png.';
			} 
			else
			{
				// Vérifier les dimensions de l'image
				$maxwidth = 100; // En pixel
				$maxheight = 100;
				$image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
				if ($image_sizes[0] <= $maxwidth AND $image_sizes[1] <= $maxheight)
				{
					// On définit l'extention du fichier puis on le nomme par le timestamp actuel
					if ($_FILES['avatar']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
					if ($_FILES['avatar']['type'] == 'image/jpg') { $extention = '.jpg'; }
					if ($_FILES['avatar']['type'] == 'image/png') { $extention = '.png'; }
					if ($_FILES['avatar']['type'] == 'image/gif') { $extention = '.gif'; }
					$nom_avatar = time().$extention; 
					$repertoire = 'avatar/';
					if (move_uploaded_file($_FILES['avatar']['tmp_name'], $repertoire.$nom_avatar))
					{
						echo 'Image uploaded !';
					}
					else
					{
						echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
					}
				}
				else
				{
					echo '<p>Les dimensions de votre image ne sont pas correctes (taille maximale : 100*100).</p>';
				}
			}
		}
		else
		{
			echo '<p>Votre avatar est trop lourd (poids maximum : 10ko).</p>';
		}
	}
	else
	{
		echo '<p>Une erreur est survenue lors de l\'enregistrement de votre avatar.</p>';
	}
}
 
?>