Vérifier les liens de téléchargement
Il a été mentionné précédemment que zipper et exe Les fichiers téléchargent automatiquement, sans utiliser le script PHP. Tout d'abord, créez un fichier HTML avec le code suivant. Ici, les quatre éléments d'ancrage sont définis pour télécharger les quatre types de fichiers. Ces types de fichiers incluent des fichiers de texte, zip, pdf et jpg.
Télécharger.html
Sortir
La boîte de dialogue suivante apparaîtra pour télécharger le fichier après avoir cliqué sur le lien du fichier zip. L'utilisateur peut ensuite télécharger le fichier ou ouvrir le fichier dans le gestionnaire d'archives.
Si vous cliquez sur le fichier image, l'image sera ouverte automatiquement dans le navigateur, comme indiqué dans la sortie suivante. Vous devez enregistrer le fichier pour faire une copie du fichier image dans le lecteur local. De la même manière, lorsque vous cliquez sur PDF et les liens de fichier texte, le contenu du fichier sera ouvert dans le navigateur sans télécharger le fichier. La solution à ce problème est de télécharger le fichier de force en utilisant le PHP intégré readFile () fonction.
Télécharger le fichier à l'aide de la fonction readFile ()
Le readFile () La fonction est utilisée dans PHP Script pour télécharger de force n'importe quel fichier de l'emplacement actuel, ou le fichier avec le chemin du fichier. La syntaxe de cette fonction est donnée ci-dessous.
Syntaxe
int liadfile (string $ filename [, bool $ use_include_path = false [, ressource $ context]])
Cette fonction peut prendre trois arguments. Le premier argument est obligatoire, et les deux autres arguments sont facultatifs. Le premier argument, $ nom de fichier, stocke le nom de fichier ou le nom de fichier avec le chemin qui téléchargera. La valeur par défaut du deuxième paramètre, $ use_include_path, est faux et sera défini sur vrai si le nom de fichier avec le chemin est utilisé dans le premier argument. Le troisième argument, $ Context, est utilisé pour indiquer la ressource de flux de contexte. Cette fonction renvoie le nombre d'octets lus à partir du fichier mentionné dans le premier argument. Les utilisations de cette fonction sont présentées dans les deux exemples suivants.
Exemple 1: Télécharger le fichier avec le nom de fichier
Dans cet exemple, nous créerons un fichier HTML avec le code suivant, où le nom du fichier sera passé comme paramètre de l'URL nommé chemin, et la valeur de ce paramètre sera transmise au fichier PHP nommé télécharger.php.
téléchargement2.html
Nous créerons le fichier PHP avec le code suivant pour télécharger le fichier de force. Ici le isset () La fonction est utilisée pour vérifier si le $ _Get ['path'] est défini. Si la variable est définie, le le fichier existe() La fonction est utilisée pour vérifier si le fichier existe dans le serveur. Ensuite, le entête() La fonction est utilisée pour définir les informations d'en-tête nécessaires avant d'utiliser readFile () fonction. Le Basename () La fonction est utilisée pour récupérer le nom de fichier et le taille du fichier() La fonction est utilisée pour lire la taille du fichier en octets, qui sera affiché dans la boîte de dialogue d'ouverture pour télécharger le fichier. Le affleurer() La fonction est utilisée pour effacer le tampon de sortie. Le readFile () La fonction est utilisée avec le nom de fichier uniquement, ici.
télécharger.php
if (isset ($ _ get ['path']))Sortir
La sortie suivante apparaîtra après avoir cliqué sur le lien de téléchargement du fichier image. La taille du fichier du rose.jpg L'image est 27.2 kb, Comme indiqué dans la boîte de dialogue. Vous pouvez télécharger le fichier en sélectionnant le Enregistrer le fichier bouton radio et appuyer sur le D'ACCORD bouton.
Exemple 2: Télécharger le fichier avec le chemin du fichier
Si le fichier existe à l'emplacement du fichier donné, le chemin du fichier devra mentionner dans l'URL. Dans cet exemple, nous créerons un fichier HTML avec le code suivant, qui passera le nom de fichier avec le chemin du fichier:
téléchargement3.html
Nous créerons un fichier PHP avec le code suivant pour télécharger un fichier à partir du chemin du fichier. Le code PHP dans l'exemple précédent sera légèrement modifié pour télécharger le fichier à partir du chemin donné. Le ClearStateCache () La fonction est utilisée pour effacer le cache qui avait été stocké précédemment. Deux arguments sont utilisés dans le readFile () fonction.
téléchargement2.php
if (isset ($ _ get ['path']))Sortir
Une fois le lien de téléchargement du fichier PDF cliqué, la sortie suivante apparaîtra.
Didacticiel vidéo
Conclusion
Cet article a fourni un moyen simple de télécharger de force n'importe quel fichier à l'aide du script PHP, pour aider les lecteurs à ajouter la fonction de téléchargement dans leur script.