Pendant le processus de développement, il est parfois nécessaire d'utiliser PHP pour forcer le navigateur à télécharger le fichier spécifié au lieu de l'ouvrir directement. La clé pour y parvenir est de configurer l'en-tête de réponse HTTP approprié pour indiquer au navigateur qu'il s'agit d'un fichier de pièce jointe.
<?php header('Content-type: text/javascript'); header('Content-Disposition: attachment; filename="file.js"'); readfile('file that is downloaded.js'); // Remplacez-le par le chemin du fichier réel ?>
Notez que l'appel de la fonction d'en-tête doit être effectué avant toute sortie, sinon il peut entraîner un contenu supplémentaire de télécharger le fichier ou de télécharger une défaillance.
En plus du téléchargement forcé via le code PHP, vous pouvez également utiliser le fichier de configuration du serveur .htaccess pour réaliser le téléchargement forcé du type de fichier spécifié. Cette méthode convient aux serveurs Apache, et le comportement de téléchargement de types spécifiques de fichiers peut être défini uniformément.
APPLICATION ADTTYPE / CSV STREAM OCTET En-tête ('Content-Type: Application / CSV'); En-tête ('Content-Disposition: pièce jointe; filename = nom du fichier CSV'); en-tête ('pragma: sans cache'); readFile («path-to-csv-file»);
Dans l'exemple de code ci-dessus, la directive AddType définit le type MIME du fichier .csv en application / octtet, forçant le navigateur à télécharger au lieu de l'ouvrir. En combinant les fonctions d'en-tête et de lecture dans PHP, vous pouvez contrôler de manière flexible le processus de téléchargement de fichiers.
En définissant raisonnablement les informations d'en-tête HTTP, PHP peut facilement réaliser le téléchargement forcé des fichiers. Qu'il s'agisse d'un seul téléchargement de fichiers ou d'une gestion unifiée via la configuration du serveur, il peut répondre à différents besoins de développement. La maîtrise de ces compétences contribuera à améliorer l'expérience utilisateur de la gestion des fichiers de sites Web.