Besoin d'aide avec PHP upload

Fermé
Valneo - 20 mars 2013 à 13:45
 Valneo - 20 mars 2013 à 15:37
Bonjour,
Depuis hier soir j'essaye de faire un petit programme composé d'un formulaire html et d'un fichier php pour uploader une image en .png qui se renommerai en fonction d'un texte qu'on aurait renseigné dans le formulaire.

Voici le code source du formulaire :

<FORM method=post action="reception2.php" enctype="multipart/form-data">
Formulaire a remplir pour obtenir votre cape !

<fieldset>
<TABLE BORDER=0>
<TR>
<TD>Pseudo Minecraft</TD>
<TD>
<INPUT type="text" name="pseudo" id="pseudomc">
</TD>
</TR>

<TR>
<TD>Votre Cape en 22x17 (.png)</TD>
<TD>
<INPUT type="hidden" name="MAX_FILE_SIZE" value="1048576">
<INPUT type="file" name="cape">
</TD>
</TR>

<TR>
<TD>Ce systeme est encore instable : ne pas se plaindre si la cape ne marche pas</TD>
</TR>

<TR>
<TD COLSPAN=2>
<INPUT type="submit" value="Enfile moi ma cape !">
</TD>
</fieldset>
</TR>
</TABLE>
</FORM>

et voici le code source du php :

<?php
$dossier = 'Capes/';
$fichier = basename($_FILES['pseudo']['name']);
$taille_maxi = 1048576;
$taille = filesize($_FILES['pseudo']['tmp_name']);
$extensions = array('.png');
$extension = strrchr($_FILES['pseudo']['name'], '.');
if($taille>$taille_maxi)
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type .png !';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
$nom = "{$id_pseudo}.{$extension}";
if(move_uploaded_file($_FILES['icone']['tmp_name'],$nom)); //Si la fonction renvoie TRUE, c'est OK
{
echo "Success ! La cape devrait apparaitre au lancement du jeu !";
}
}
?>

Voici mon raisonnement, l'utilisateur renseigne dans le formulaire son pseudo ainsi que le fichier image à uploader, le tout est envoyé au php qui place le fichier dans le dossier /Capes mais ce n'est pas tout : le php doit rennommer le fichier uploadé de cette façon : pseudo.png
Mais je n'y arrive pas : PHP affiche le message de succès, mais rien n'a changé dans mon FTP, j'ai mis les droits en écriture avec le code 777, mais rien ne change non plus.

Vous pouvez m'aider ? Comme vous le voyez, je début en php, et je me suis servis de morceau de tuto pour créer le php.

Merci ! Valneo
A voir également:

2 réponses

Utilisateur anonyme
20 mars 2013 à 14:44
Bonjour

Si ton input file s'appelle 'cape', pourquoi des $_FILES['pseudo'] et des $_FILES['icone'] dans ton script ?
0
Comme je le dit plus haut : j'ai pris plusieurs morceau de tuto, et comme je débute en PHP, eh bien je n'ai pas vu ceci, je te tiens au courant
0
Bon suite au conseil de le père, j'ai modifié mes bêtises et ya du progrès : tout d'abord le fichier est bien uploadé, mais au lieu d'avoir l'image comme votrepseudo.png, j'ai un ..png qui est bien l'image que j'ai uploadé.
Je suis entrain de bidouiller le code pour qu'il prenne en compte le pseudo du joueur, mais j'ai quand même l'impression que ca marche aléatoirement ...
0