par
Benamour Jr » 27 mars 2010, 21:25
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 :
<?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>';
}
}
?>
Je précise que je le script me renvoie le message "Image uploaded !", ce qui me parait encore plus bizarre o.O
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 :
[PHP]
<?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>';
}
}
?>
[/php]
Je précise que je le script me renvoie le message "Image uploaded !", ce qui me parait encore plus bizarre o.O