PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 04-10-2011 12:41:01

feelin133
Membre
Inscription : 04-10-2011
Messages : 1

Echec de l'upload récurrent

Bonjour,

Je butte depuis deux jours sur un problème d'upload php. Le code est censé fonctionner mais la condition "if(move_uploaded_file($_FILES['photo_logo']['tmp_name'], $dossier . $fichier))" me renvoie toujours une erreur...

Voici mon code (épuré au maximum pour détecter l'erreur!)

FORMULAIRE:

<form method="get" action="inscription.php" name="contact" enctype="multipart/form-data"><br/>
Photo/logo: <input type="file" name="photo_logo">
<input type="reset" value="Effacer" name="reset">    <input type="submit" value="Envoyer" name="submit">
</form>

PHP:

$photo_logo=$_GET["photo_logo"];

//recuperation upload
$extensions = array('.png', '.gif', '.jpg', '.jpeg');

// récupère la partie de la chaine à partir du dernier . pour connaître l'extension.
$extension = strrchr($_FILES['photo_logo']['name'], '.');

//Test
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez uploader un fichier de type png, gif, jpg ou jpeg...';
}

$dossier = 'avatar/';

$fichier = basename($_FILES['photo_logo']['name']);

     if(move_uploaded_file($_FILES['photo_logo']['tmp_name'], $dossier . $fichier))
     {
          echo 'Upload effectué avec succès !';
     }
     else
     {
          echo 'Echec de l\'upload !';
     }

Quelqu'un a-t-il une idée? J'avoue ne plus comprendre... J'ai déjà vérifié les droits d'écriture des dossiers et fichiers sur FileZilla et tout devrait être ok.

Aussi, dans le formulaire complet, il y aurait au total 1 image (<1Mo), un fichier PDF/DOC de 2 ou 3 pages max et 3 fichiers mp3 à uploader.
Est-ce que cela ne risque pas d'être trop en un seul upload? L'utilisateur ne risque-t-il pas dès lors de re-cliquer sur l'envoi de formulaire/actualiser/... pendant le temps de charge? J'aurais besoin d'un petit conseil pratique doté d'expérience en la matière pour m'aiguiller vers une solution plus "light". Peut-être un formulaire en plusieurs étapes?..

Merci d'avance,

.feelin133

Hors ligne

Pied de page des forums