Upload de fichier

Résolu/Fermé
tete0148 Messages postés 413 Date d'inscription mercredi 19 décembre 2012 Statut Membre Dernière intervention 15 juin 2017 - 22 juin 2013 à 22:27
tete0148 Messages postés 413 Date d'inscription mercredi 19 décembre 2012 Statut Membre Dernière intervention 15 juin 2017 - 23 juin 2013 à 13:21
Bonjour, j' essai de faire un système pour uploader un fichier mais il ne marche pas. Je vous donne le code. J' ai mis le CHMOD du fichier en 777.

FORMULAIRE :
<form method="post" action="admin-traitement.php" class="form" id="ajouter_form_3" enctype="multipart/form-data">
                    <input type="file" name="portfolio" value="Choisir une image"/><br>
                    <input type="text" name="nom_fichier" placeholder="Nom de l' image"/><br>
                    <textarea name="descriptif" placeholder="Description du fichier"></textarea><br>
                    <input type="hidden" name="verif_form_3" value="true"/>
                    <input type="hidden" name="MAX_FILE_SIZE" value="1000000"/>
                    <input type="submit" value="Envoyer"/>
                    <input type="reset" value="Annuler" onclick="javascript:cacher_formulaire('ajouter_form_3');"/>
</form>


PHP

$dossier = 'portfolio/';
$fichier = basename($_FILES['portfolio']['name']);
$taille_maxi = 1000000;
$taille = filesize($_FILES['portfolio']['tmp_name']);
 
//Début des vérifications de sécurité...
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop lourd...';
}
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['porfolio']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
          echo 'Upload effectué avec succès !';
          
          // INSERTION DANS LA BASE
          
          $req = $bdd->prepare('INSERT INTO portfolio VALUES(:id,:nom,:url,:descriptif)');
          $req->execute(array(
          'id' => NULL,
          'nom' => $_POST['nom_fichier'],
          'url' => 'portfolio/'.$fichier.'.png',
          'descriptif' => $_POST['descriptif']
          ));
          
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec de l\'upload !';
     }
}
else
{
     echo $erreur;
}
}
else { echo ' Veuillez renseigner tous les champs ' ; }
}

A voir également:

1 réponse

tete0148 Messages postés 413 Date d'inscription mercredi 19 décembre 2012 Statut Membre Dernière intervention 15 juin 2017 89
23 juin 2013 à 13:21
RESOLU
0