Problème d'upload php

Fermé
frifrou1 Messages postés 2 Date d'inscription mardi 3 février 2009 Statut Membre Dernière intervention 4 février 2009 - 3 févr. 2009 à 18:50
Irresistibledemon Messages postés 97 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 3 décembre 2011 - 12 mars 2009 à 23:47
Salut,

Voilà, j'ai un p'tit problème, j'ai crée une page html d'upload pour pouvoir uploader des fichiers directement en ligne sur le serveur de mon site perso, mais ça ne marche pas.

Ce site est hébergé chez free.fr et le code du fichier php upload.php est le suivant :
<?php
$dossier = 'fichiers/';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 2000000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg', '.bmp', '.txt', '.doc', '.ods');
$extension = strrchr($_FILES['avatar']['name'], '.'); 
//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, gif, jpg, jpeg, txt ou doc...';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
          echo 'Upload effectué avec succès !';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec de l\'upload !'; phpinfo();

     }
}
else
{
     echo $erreur;
}
?>


C'est donc le message Echec de l'upload ! qui s'affiche (dernière condition non remplie). Mais je ne sais pas pourquoi, j'ai beau chercher ...
Peut-être que le problème vient du fait que lorsque je fais php.info j'ai : "upload_tmp_dir = no value"

Est-ce que vous avez une idée ?
A voir également:

3 réponses

Irresistibledemon Messages postés 97 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 3 décembre 2011 9
3 févr. 2009 à 23:28
Coucou,
tu peux montrer la page HTML qui contient le formulaire dans lequel tu renseignes l'élément "Avatar"
Merci
0
frifrou1 Messages postés 2 Date d'inscription mardi 3 février 2009 Statut Membre Dernière intervention 4 février 2009
4 févr. 2009 à 20:26
Bon, c'est une page que jai fait a toute vitesse, c'est pas du tout rigoureux ^^ :
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
  <head>
  <style type="text/css">
body{margin:12px}
span {font-family:arial, calibri, verdana, sans-serif; font-size:10pt;color:white;}

</style>
    <title>P3</title>
    <meta http-equiv="Content-Type" content="text/HTML; charset=iso-8859-1" />

  </head>
  <body background="back2.png">


<form method="POST" action="upload.php" enctype="multipart/form-data">
     <!-- On limite le fichier à 100Ko -->
     <input type="hidden" name="MAX_FILE_SIZE" value="10000000000">
     Fichier : <input type="file" name="avatar">
     <input type="submit" name="envoyer" value="Envoyer le fichier">
</form>


  </body>
</html>
0
Irresistibledemon Messages postés 97 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 3 décembre 2011 9
12 mars 2009 à 23:47
Il y a les droits d'écriture pour le dossier destinataire du fichier ?
0