[edit]en fait ça marche très bien ^^ c'est mon serveur qui n'avait pas pris en compte le CHMOD directement ^^[/edit]
j'ai aussi un petit soucis avec l'upload d'avatar, je poste donc a la suite pour ne pas encombrer.
Tout marche dans ce code .... si je suis en local. Mais une fois que je mets ça sur le serveur ... ca marche plus (il dit que effectivement le fichier à été bien uploadé (test logique ok) par contre l'image n'est pas envoyée ) (je précise que le CHMOD du répertoire visé est bien en 777)
Formulaire :
Fichier de traitement :
j'ai aussi un petit soucis avec l'upload d'avatar, je poste donc a la suite pour ne pas encombrer.
Tout marche dans ce code .... si je suis en local. Mais une fois que je mets ça sur le serveur ... ca marche plus (il dit que effectivement le fichier à été bien uploadé (test logique ok) par contre l'image n'est pas envoyée ) (je précise que le CHMOD du répertoire visé est bien en 777)
Formulaire :
Citation :<table width=502 height=381>
<tr>
<td align="center" valign="top">
<br>Vous pouvez envoyez ici l'avatar de votre héros
<br><br><font color="red">ATTENTION :</font> votre photos doit être au format gif, ne pas pesez plus de 20KO et avoir comme
dimension maximum 85 en largeur et 95 en hauteur
<br><br>
<form name="formu" action="traitement.php" method="post" enctype="multipart/form-data">
Votre fichier <input type="file" name="fichier" accept="image/gif" />
<input type="submit" value="Go !!!!" />
</form>
</td>
</tr>
</table>
Fichier de traitement :
Citation :<?php
if (isset($_FILES['fichier']))
{
//$_FILES existe on récupère les infos qui nous intéressent
$fichier=$_FILES['fichier']['name'];//nom réel de l'image
$extension = substr($fichier, strrpos($fichier, "."));
$size=$_FILES['fichier']['size']; //poids de l'image en octets
$tmp=$_FILES['fichier']['tmp_name'];//nom temporaire de l'image (sur le serveur)
$type=$_FILES['fichier']['type'];//type de l'image
//On récupère la taille de l'image
list($width,$height)=getimagesize($tmp);
if (is_uploaded_file($tmp)) //permet de vérifier si le fichier a été uplodé via http
{
//vérification du type de l'img, son poids et sa taille et de l'extension pour etre sur
if ($type="image/gif" && $extension="gif" && $size<=20500 && $width<=85 && $height<=95 )
{
// type mime gif, poids < à 20500 octets soit environ 20Ko, largeur = 85 hauteur = 95px
//Pour supprimer les espaces dans les noms de fichiers car celà entraîne une erreur lorsque vous voulez l'afficher
$fichier = preg_replace ("` `i","",$fichier);//ligne facultative
//On vérifie s'il existe une image qui a le même nom dans le répertoire
if (file_exists('http://www.tarifudp.be/dd/explorer/perso/'.$fichier))
{
//Le fichier existe on rajoute dans son nom le timestamp du moment pour le différencier de la première (comme cela on est sûr de ne pas avoir 2 images avec le même nom )
$nom_final= preg_replace("`.gif`is",date("U").".gif",$fichier);
}
else
{
$nom_final=$fichier; //l'image n'existe pas on garde le même nom
}
//on déplace l'image dans le répertoire final
move_uploaded_file($tmp,'../explorer/perso/'.$nom_final);
//Message indiquant que tout s'est bien passé
echo "L'image a été uploadée avec succès<br/>";
}
else
{
//Le type mime, ou la taille ou le poids est incorrect
echo 'Votre image a été rejetée (poids, taille ou type incorrect)';
}
}
}
//Pour tester si l'image est bien à sa place
echo '<img src="../explorer/perso/'.$nom_final.'" border="0" />';
echo '<br/>';
echo '<a href="javascript:history.back();">Retour</a>';
?>