Upload de fichier
Résolu
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 :
PHP
--
Sincèrement ...
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 ' ; }
}
--
Sincèrement ...