Comment uploader un fichier avec un formulaire PHP

fermer la fenetre

Des Applications Performantes Sans Vous Prendre La Tête !

Recevez la formation "Développement Facilte" GRATUITEMENT
Avec tous les Codes Sources Commentés
 
(Les événements, la programmation orientée objets, les modèles de conception, Les éditeurs, les outils, 
l'efficacité, CSS3, HTML5, JavaScript, jQuery, Dojo...)

Renseignez votre prénom et votre adresse email ci-dessous :

Apprenez à proposer à vos visiteurs la possibilité de vous envoyer des fichiers via un formulaire 😉

Tout est dans le cours vidéo ci-dessous.

[ppmaccordion][ppmtoggle title=”Afficher le texte de la vidéo”]

Comment uploader un fichier avec un formulaire PHP

Bonjour à tous et bienvenu sur Développement Facile.

Donc là ces dernières semaines, ces derniers mois même, vous avez un ensemble de cours consacrés au langage PHP, normalement vous devriez avoir déjà un niveau correct pour programmer des sites dynamiques avec des adaptations en fonction de l’utilisateur, gérer des sessions utilisateur, des zone membre, et donc là vous allez apprendre à uploader un fichier avec le langage PHP, donc à améliorer encore vos compétences, les zone membres que vous avez créé pour permettre à vos utilisateurs d’uploader des fichiers sur votre plate-forme.

Uploader un fichier sur le serveur

Il suffit d’utiliser les formulaires, donc c’est une balise HTML form avec action quand l’utilisateur va valider, il faudra appeler un fichier PHP, en utilisant la méthode poste et l’encodage type multipart from data, donc ça ressemble le type MIME multipart du mail quand vous avez appris à envoyer des pièces jointes dans un mail.
Donc lorsque le fichier est envoyé grâce à ce formulaire, les informations source fichier son accessible grâce à la variable $_FILES, il faut savoir que file c’est un tableau associatif multidimensionnel, la première clé est égale au nom de la zone du type de formulaire, donc le fichier par exemple, le tableau associatif présente cinq lignes.

Donc le nom du fichier, le type du fichier, donc le type MIME du fichier Word, PDF, une image, etc. la taille du fichier en octets, le nom du fichier temporaire créé sur le serveur avec chemin complet, et des codes d’erreur. Vous avez différents codes d’erreurs, lorsque vous uploader un fichier, lorsque l’utilisateur uploade un fichier sur votre serveur, ça vous permet de gérer les différentes erreurs.

Donc la structure $_FILE permet d’avoir plusieurs zones du type uploade le fichier dans un formulaire c’est très pratique pour envoyer plusieurs fichiers d’un seul coup, vos utilisateurs vont pouvoir envoyer plusieurs fichiers avec le même formulaire sur votre serveur.

Exemple d’application

Alors je vous montre un exemple de code source pour mettre en pratique tout ça. Vous faites un include du fichier fonction.php qui contient toutes les librairies de fonctions, c’est très pratique, l’initialisation du message et donc là ont dit que le formulaire a été validé, l’utilisateur à sélectionner un fichier sur son disque dur, il l’a uploadé et sa appel file upload PHP donc ce fichier-là, donc la variable pose validée existe et on récupère les informations relatives au fichier grâce à la variable $_FILES, on récupère le nom du fichier, le type du fichier, la taille du fichier et l’emplacement du fichier temporaire. On vérifie le code erreur, si il y a un code erreur, on switch en fonction du code erreur, donc le fichier est reçu, qu’est-ce qu’on fait ? On copie directement le fichier du répertoire temporaire vers la destination que l’on a choisi au préalable, destination upload répertoire doc et le nom du fichier, donc une simple copie de fichier, et après on dit que le transfert est terminé pour le nom du fichier, sa taille et son type, MIME, PDF, image, document Word etc. On test si la copie de fichier s’est bien passée, sinon il peut y avoir une erreur de copie de fichier, typiquement ce que le script PHP n’a pas les droits d’écrire dans le répertoire de destination, pensez à faire un chmode sur le répertoire via votre client ftp par exemple, vous pouvez utiliser Filezilla qui est un excellent client pour naviguer dans le répertoire de votre hébergement via ftp. Pas de fichier saisi donc là tous les cas d’erreur sont géré grâce au switch case, si vous ne savez pas comment fonctionne un switch case, je vous renvoi au cours précédent, il y a un cours précédent consacré switch case en PHP donc je vous y renvoie comme ça, ça vous permettra de mieux appréhender les choses donc je vais lire, on teste tous les cas d’erreur et en fonction du cas d’erreur, on renvoi un message d’erreur correspondant, et donc ça c’est le formulaire ici, on appelle en fait c’est upload_php que l’on va appeler, file upload_php, méthode post, name valide c’est la variable que l’on teste ici, tout ça est envoyé en poste, le nom du fichier, et va soumettre pour soumettre le fichier. Donc c’est de formulaire upload, et après vous passez ici et vous faites le traitement.

Votre plan d’actions !

Vous retrouverez sous ce cours vidéo l’exemple de code source que vous pouvez bien évidemment réutiliser dans vos applications en PHP, dans vos sites Internet, dans vos zones membres, sur un forum, là où vous en avez besoin, je vous encourage bien évidemment, à mettre en pratique les enseignements de ce cours, si vous avez des questions, besoin d’informations supplémentaires, si vous rencontrez des difficultés, posez vos questions directement dans la zone commentaires sous ce cours et je vous dis à très bientôt sur Développement Facile.

 

[/ppmtoggle][/ppmaccordion]

Téléchargez le code source PHP

Voici un exemple de code source d’un formulaire d’upload de fichiers.

Downloads

Téléchargez le logiciel gratuit FileZilla pour gérer les fichiers de votre hébergement web.

Utilisez-vous un ensemble de classes PHP pour l’upload ?

Pour simplifier l’upload de fichiers, partagez vos classes de gestion de fichiers. Utilisez directement la zone commentaires.

Créez des Applications Dynamiques avec la Formation Gratuite PHP Facile !

Des Cours Vidéos avec les Codes Sources
+
Des Stratégies de Développement Agile