Impossible d'uploader un fichier

Résolu
tieum91 Messages postés 39 Date d'inscription lundi 26 mars 2012 Statut Membre Dernière intervention 8 février 2013 - 8 févr. 2013 à 10:29
tieum91 Messages postés 39 Date d'inscription lundi 26 mars 2012 Statut Membre Dernière intervention 8 février 2013 - 8 févr. 2013 à 11:28
Salut,

Alors voila, j'ai un formulaire qui permet de stocker des images dans un fichier et d'autres infos divers dans ma BDD. Mon 'ajout.php' récupère bien toutes les informations sauf toutes celles relatives à l'image.

mon formulaire :
<form enctype="multipart/form-data" action="ajout.php" method="post">




</form>


Et mon fichier 'ajout.php'
$fichier = basename($_FILES['icon']['name']);
$numErreur=$_FILES['icon']['error'];
$taille = filesize($_FILES['icon']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['icon']['name'], '.'); 

if(!in_array($extension, $extensions))
{
     $erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg, txt ou doc...';
}
if(!isset($erreur))
{
     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['icon']['tmp_name'], $dossier . $fichier))
     {
          echo 'Upload effectué avec succès !';
     }
     else
     {
          echo 'Echec de l\'upload !';
     }
}
else
{
     echo $erreur;
}


Sauf que toute mes variables sont NULL ($fichier, $numErreur, $taille etc...)

Merci d'avance

3 réponses

tieum91 Messages postés 39 Date d'inscription lundi 26 mars 2012 Statut Membre Dernière intervention 8 février 2013
8 févr. 2013 à 11:27
Ca y est j'ai trouver en fait j'utilise jquery Mobile dans mon head j'ai :
<meta name="viewport" content="width=device-width, initial-scale=1.0;">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />


Et le souci c'est Ajax (j'en sait pas plus pour le moment).

Mais si dans la balise <form> je rajoute data-ajax='false' comme ceci:
<form enctype="multipart/form-data" action="ajout.php" method="post" data-ajax="false">


Et là magie! cà fonctionne il recupere bien toutes les infos $_FILES.

Voili voilou

Bon code
3
sylvain64520 Messages postés 130 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 7 juin 2013
8 févr. 2013 à 11:06
J'ai essayé ton script sur un serveur en local. J'ai les champs non null que si les champs :



sont supprimés.

Par contre j'ai quelque chose de bizarre, le fichier ne s'upload pas à chaque fois. Par contre tu as oublié de renseigner $dossier dans le script que tu donnes.

Cdt
0
tieum91 Messages postés 39 Date d'inscription lundi 26 mars 2012 Statut Membre Dernière intervention 8 février 2013
8 févr. 2013 à 11:28
Merci quand même pour ton aide sylvain
0
Rejoignez-nous