Comment Créé Une Formule D'Upload
Résolu
guillaumegilbertsoucy
Messages postés
332
Date d'inscription
Statut
Membre
Dernière intervention
-
LaurentMtns Messages postés 269 Date d'inscription Statut Membre Dernière intervention -
LaurentMtns Messages postés 269 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais svp avoir de l'aide pour créer une page qui comprendrait un formulaire d'envois de fichiers. Je sais qu'il faut utiliser le PHP pour ça mais j'ai essayer mais je ne comprend pas quel code mettre pour que le fichier s'envoi dans un répertoire.
Merci de m'aider!
Guillaume
J'aimerais svp avoir de l'aide pour créer une page qui comprendrait un formulaire d'envois de fichiers. Je sais qu'il faut utiliser le PHP pour ça mais j'ai essayer mais je ne comprend pas quel code mettre pour que le fichier s'envoi dans un répertoire.
Merci de m'aider!
Guillaume
A voir également:
- Comment Créé Une Formule D'Upload
- Formule si et - Guide
- Comment cree un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
2 réponses
Regarde donc de ce coté ;-)
Html du formulaire :
Php de la page upload.php qui se chargera d'uploader le fichier dans le bon dossier :
Voila ;) bonne soirée
"Stand up for what you believe in even if that means standing alone." - A. Biersack
Html du formulaire :
<form method="POST" action="upload.php" enctype="multipart/form-data"> <!-- On limite le fichier à 100Ko mais tu peux retirer ou augmenter cette valeur --> <input type="hidden" name="MAX_FILE_SIZE" value="100000"> Fichier : <input type="file" name="avatar"> <input type="submit" name="envoyer" value="Envoyer le fichier"> </form>
Php de la page upload.php qui se chargera d'uploader le fichier dans le bon dossier :
<?php $dossier = 'upload/'; //dossier où tu veux mettre le fichier uploadé $fichier = basename($_FILES['avatar']['name']); $taille_maxi = 100000; $taille = filesize($_FILES['avatar']['tmp_name']); $extensions = array('.png', '.gif', '.jpg', '.jpeg'); //les extensions que tu autorises $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...'; } //si tu supprimes la limitation de taille, enlève ce if 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 !'; } } else { echo $erreur; } ?>
Voila ;) bonne soirée
"Stand up for what you believe in even if that means standing alone." - A. Biersack
Bonjour Laurent!
Merci pour ton aide. Mais comme de raison, ça la pas fonctionné. "Echec de l'upload !"
Je crois que ça bloque au niveau du dossier de destination. J'ai bel et bien crée le dossier "upload" dans /var/www/html .
Quelque chose de dérangé au niveau du dossier de destination?
Bonne soirée à toi aussi!
Guillaume
Merci pour ton aide. Mais comme de raison, ça la pas fonctionné. "Echec de l'upload !"
Je crois que ça bloque au niveau du dossier de destination. J'ai bel et bien crée le dossier "upload" dans /var/www/html .
Quelque chose de dérangé au niveau du dossier de destination?
Bonne soirée à toi aussi!
Guillaume
Il y a effectivement une erreur dans le chemin d'accès au dossier "upload".
Vérifie que le chemin renseigné dans la variable $dossier est le bon.
Par exemple si le fichier contenant le formulaire ainsi que le dossier upload se trouvent à la racine du site, alors la valeur que j'ai donnée dans l'exemple est correcte si, si par exemple le fichier avec la form est à la racine et que le dossier upload est lui même dans un autre dossier, tu devrais avoir quelque chose ainsi :
J'espère que ça t'a aidé ;-)
Vérifie que le chemin renseigné dans la variable $dossier est le bon.
Par exemple si le fichier contenant le formulaire ainsi que le dossier upload se trouvent à la racine du site, alors la valeur que j'ai donnée dans l'exemple est correcte si, si par exemple le fichier avec la form est à la racine et que le dossier upload est lui même dans un autre dossier, tu devrais avoir quelque chose ainsi :
$dossier = 'des/autres/dossiers/upload/';
J'espère que ça t'a aidé ;-)
Ça fonctionne maintenant! J'ai changé les permissions de Linux et là tout marche! J'ai même fait un bonus, j'ai monté avec curlftpfs un de mes comptes FTP de sur mon serveur FTP en locale dans fstab pour qui ce reconnecte au redemarrage de la machine et là les uploads fait sur cette page avec ce scripte sont envoyé directement sur mon serveur FTP.
Merci infiniment pour ton aide! :-)
Bonne journée à toi!
Guillaume
Merci infiniment pour ton aide! :-)
Bonne journée à toi!
Guillaume