Aller au contenu

Comment forcer le téléchargement de fichier avec PHP

Dans certains cas, un simple lien pour proposer vos fichiers en téléchargement ne suffit pas. Cela génère une erreur ou un affichage incorrect chez l’internaute.

Découvrez comment forcer le téléchargement d’un fichier via des instructions PHP.

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

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

Comment forcer le téléchargement de fichier avec PHP

Bonjour à tous et bienvenu sur Développement Facile.

On continu ensemble la série de cours consacrée au langage PHP, pour que à votre tour, vous puissiez créer des sites dynamiques qui soient très performants et très évolutifs. Dans le cours précédent, vous avez appris à proposer un formulaire pour que vos visiteurs puissent vous envoyer des fichiers sur votre serveur Web dans votre site Internet, là vous allez apprendre à proposer un téléchargement de vos fichiers à vos visiteurs, donc un téléchargement en fonction du type de fichier que vous proposez à vos visiteurs.

Télécharger un fichier depuis le serveur

Vous pouvez forcer le navigateur à proposer à l’utilisateur, sur le navigateur de l’utilisateur, une boîte de dialogue, une fenêtre, pour proposer à l’utilisateur d’enregistrer le fichier sur son disque dur, et ce pour n’importe quel fichier, une image, un document Word, PDF etc.
Cette technique consiste à envoyer des entêtes, en particulier grâce à la fonction PHP qui s’appelle header. Donc content-disposition attachment filename, cette entête dit au navigateur de traiter le document comme s’il s’agissait d’une pièce jointe, attachment, et donc cela propose à l’utilisateur de l’enregistrer sous le nom qui est défini par la variable file name. Content-type cet entête fournit au navigateur le type du document, Word, PDF, png, zip, etc.

Les types MIME courants

Sur l’écran s’affiche tous les types mime correspondant, pour Word, générique, PDF, Excel, Power Point, zip, image bitmap, GIF, JPEG, TIFF, PNG, HTML, et document texte, vous avez le XML aussi, libre à vous de l’utiliser.

Télécharger un fichier depuis le serveur

Une fois que vous avez envoyé les entêtes grâce à la fonction PHP header, il ne vous reste plus qu’à envoyer le document directement dans la page, donc soit par une lecture, rappelez-vous la fonction fread que vous avez vue dans un cours précédent, si vous ne vous rappelez plus comment elle fonctionne, je vous renvoi au cours précédent PHP qui traite de le lecture de fichiers avec fread, soit avec la fonction readfile, vous transmettez le chemin d’accès au fichier à lire et inclusion vous mettez 1 pour rechercher le fichier dans les répertoires classiques.

La fonction readfile retourne le nombre d’octets lu si tout s’est bien passé, ou false en cas d’erreur.

Exemple d’application

Un exemple de code source pour que vous puissiez mettre en pratique directement dans votre site Internet, alors on définit un tableau avec plusieurs fichiers, tutoriel.pdf, un fichier PDF, un fichier gif, on test le retour du formulaire, donc si la variable get n’est pas vide, on récupère l’identifiant du document, id, on récupère le nom du document, donc rappelez-vous tableau documents, identifiant du document, et on envoi l’entête attachement pour dire au navigateur que c’est un fichier que l’on veut que le navigateur propose une boîte de dialogue à l’utilisateur, pour qu’il puisse l’enregistrer sur son disque dur, on spécifie le nom du fichier que l’on a récupéré préalablement, bien évidemment, et on envoi l’entête de header, et on envoie l’entête du type mime là par exemple, type mime inconnu, et on fait un readfile sur le document, ça fait que le navigateur va proposer la boîte de dialogue téléchargement à votre visiteur, avec le nom du fichier que vous avez défini tutoriel.PDF sceenshot GIF, donc un fichier GIF, et voilà l’utilisateur récupère et télécharge le document chez lui, donc ça c’est un exemple de tableau avec, ça créer des liens download.php idFile, ça veut dire qu’on parcours le tableau du document que l’on a défini ici, un tableau avec l’idFile, et on test id= excusez-moi pour les erreurs, donc id on récupère l’id, on test est ce qu’il existe une variable get, on récupère l’id du document, le nom du document, ça affichera le chemin complet, l’utilisateur clique sur ce lien, ce fichier s’appelle file_download_php et voilà tout simplement, comment proposer le téléchargement de fichiers à vos visiteurs.

Votre plan d’actions !

Comme d’habitude vous trouverez le code source en téléchargement, directement sous ce cours vidéo, je vous invite dès maintenant à mettre en pratique la technique de téléchargement de fichiers, à utiliser toutes ces fonctionnalités que permet PHP, pour ouvrir une boîte de dialogue, proposer PDF, Word, vous avez vu tous les types de documents dans le PowerPoint derrière moi, si vous avez des questions, vous rencontrez des difficultés, vous souhaitez des informations supplémentaires, le champ des commentaires est justement là pour ça, posez vos questions et je vous dis à très bientôt pour le prochain cours sur Développement Facile.

 

[/ppmtoggle][/ppmaccordion]

Téléchargez le code source PHP

Voici un exemple PHP pour proposer vos fichier en téléchargement en utilisant les header PHP.

Téléchargement du code source Script php de téléchargement de fichiers

Cliquez ici pour télécharger le code source Script php de téléchargement de fichiers

Comment faites vous pour proposer des fichiers à vos visiteurs ?

Et vous, quelle technique utilisez-vous pour mettre vos fichiers en téléchargement ? Dites-moi tout dans les commentaires ci-dessous.

EXCLUSIF : Les 7 Secrets Révélés de JavaScript pour Créer VOS Applications — dès la semaine prochaine !

EXCLUSIF : La formation « JavaScript Facile » OFFERTE pour Créer VOS Applications — dès la semaine prochaine !

EXCLUSIF : Créez VOS Applications JavaScript — en moins de 7 jours grâce à notre formation OFFERTE « JavaScript Facile »

Que diriez-vous de Développer des Applications JavaScript Performantes — dès la semaine prochaine ?

TÉLÉCHARGEZ : Les codes sources du livre « JavaScript Facile » pour Créer VOS Applications — dès la semaine prochaine !

Cliquez ici pour tout recevoir >>