


Téléchargement de fichiers de manière asynchrone avec PHP : un guide complet
Lors de la construction d'applications Web interactives, il est souvent nécessaire de télécharger des fichiers de manière asynchrone. Cette méthode vous permet de récupérer des fichiers sur un serveur sans actualiser la page entière, améliorant ainsi l'expérience utilisateur. Cet article se concentre sur l'utilisation de PHP pour réaliser des téléchargements de fichiers asynchrones.
Nous examinerons un scénario courant dans lequel un bouton déclenche une fonction AJAX. La fonction AJAX envoie des données à un script PHP, qui crée à son tour un fichier CSV basé sur la saisie de l'utilisateur. Le défi consiste à inviter le navigateur à télécharger ce fichier CSV nouvellement créé.
Fonction AJAX pour l'initiation du téléchargement de fichiers
Comme indiqué dans l'extrait de code fourni, le bouton clique sur lance la fonction AJAX csv().
function csv(){ $ajaxRequest = ajax();//ajax() initializes XML HTTP Requests $postdata = "data=" + document.getElementById("id").value; $ajaxRequest.onreadystatechange = function(){ $ajaxDisplay = document.getElementById('ajaxDiv'); if($ajaxRequest.readyState == 4 && $ajaxRequest.status==200){ $ajaxDisplay.innerHTML = $ajaxRequest.responseText; } } $ajaxRequest.open("POST","csv.php",false); $ajaxRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); $ajaxRequest.send($postdata); }
Code PHP pour la création et le téléchargement de fichiers Invite
Le script csv.php gère la création de fichiers et l'invite de téléchargement. Cependant, le script fourni ne convient pas à notre objectif.
$fileName = 'file.csv'; $downloadFileName = 'newfile.csv'; if (file_exists($fileName)) { header('Content-Description: File Transfer'); header('Content-Type: text/csv'); header('Content-Disposition: attachment; filename='.$downloadFileName); ob_clean(); flush(); readfile($fileName); exit; } echo "done";
Lorsque ce script est inclus à la fin de csv.php, le contenu de file.csv est affiché au sein de la page (dans l'élément ajaxDiv ) plutôt que de lancer un téléchargement.
Solution : Utiliser une nouvelle fenêtre de téléchargement
Pour forcer un téléchargement, nous ne pouvons pas compter sur AJAX. Au lieu de cela, nous pouvons ouvrir une nouvelle fenêtre avec le lien de téléchargement comme adresse ou utiliser document.location = ....
window.open('download.php?file=' . $fileName, '_blank'); // or document.location = 'download.php?file=' . $fileName;
Conclusion
Pour les fichiers asynchrones téléchargements en PHP, évitez d'utiliser AJAX. Pensez à ouvrir une nouvelle fenêtre avec le lien de téléchargement ou à rediriger l'emplacement du document pour lancer le téléchargement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Les longues URL, souvent encombrées de mots clés et de paramètres de suivi, peuvent dissuader les visiteurs. Un script de raccourcissement d'URL offre une solution, créant des liens concis idéaux pour les médias sociaux et d'autres plateformes. Ces scripts sont utiles pour les sites Web individuels

Laravel simplifie la gestion des données de session temporaires à l'aide de ses méthodes de flash intuitives. Ceci est parfait pour afficher de brefs messages, alertes ou notifications dans votre application. Les données ne persistent que pour la demande ultérieure par défaut: $ demande-

Il s'agit de la deuxième et dernière partie de la série sur la construction d'une application React avec un back-end Laravel. Dans la première partie de la série, nous avons créé une API RESTful utilisant Laravel pour une application de liste de base sur le produit. Dans ce tutoriel, nous serons Dev

Laravel fournit une syntaxe de simulation de réponse HTTP concise, simplifiant les tests d'interaction HTTP. Cette approche réduit considérablement la redondance du code tout en rendant votre simulation de test plus intuitive. L'implémentation de base fournit une variété de raccourcis de type de réponse: Utiliser illuminate \ support \ faades \ http; Http :: faux ([[ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

L'extension PHP Client URL (CURL) est un outil puissant pour les développeurs, permettant une interaction transparente avec des serveurs distants et des API REST. En tirant parti de Libcurl, une bibliothèque de transfert de fichiers multi-protocol très respectée, PHP Curl facilite Efficient Execu

Voulez-vous fournir des solutions instantanées en temps réel aux problèmes les plus pressants de vos clients? Le chat en direct vous permet d'avoir des conversations en temps réel avec les clients et de résoudre leurs problèmes instantanément. Il vous permet de fournir un service plus rapide à votre personnalité

L'enquête sur le paysage PHP 2025 étudie les tendances actuelles de développement du PHP. Il explore l'utilisation du cadre, les méthodes de déploiement et les défis, visant à fournir des informations aux développeurs et aux entreprises. L'enquête prévoit la croissance de la PHP moderne versio

Dans cet article, nous allons explorer le système de notification dans le framework Web Laravel. Le système de notification de Laravel vous permet d'envoyer des notifications aux utilisateurs sur différents canaux. Aujourd'hui, nous discuterons de la façon dont vous pouvez envoyer des notifications OV


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)
