Téléchargement de fichiers avec file_get_contents() à l'aide du contexte de flux HTTP
Le téléchargement de fichiers via un formulaire Web peut être réalisé de manière transparente à l'aide de l'extension cURL. Cependant, il est également possible d'effectuer des téléchargements de fichiers à l'aide de la fonction file_get_contents() de PHP en conjonction avec le contexte de flux HTTP.
Multipart Content-Type
Pour télécharger un fichier en utilisant file_get_contents(), il est crucial de définir un type de contenu "multipart/form-data". Cela spécifie que la demande contient plusieurs parties, y compris les données du fichier et tous les paramètres associés. Le délimiteur utilisé pour séparer ces parties est appelé limite.
Création du corps du contenu
Le corps du contenu doit suivre les spécifications HTTP et l'en-tête Content-Type. . Pour chaque fichier en cours de téléchargement, incluez les informations suivantes :
Création du contenu du fichier
À l'aide de file_get_contents(), obtenez le contenu du fichier à télécharger. Ajoutez-le au corps du contenu.
Définition des en-têtes et du contexte de demande
Définissez l'en-tête Content-Type et créez un contexte de flux HTTP à l'aide de stream_context_create(). Définissez la méthode de requête sur POST, ajoutez les en-têtes et spécifiez le corps du contenu.
Exécuter le téléchargement
Enfin, exécutez la fonction file_get_contents() avec l'URL appropriée et le contexte configuré.
Remarque
Les fichiers binaires peuvent être directement envoyés sans encodage. HTTP prend en charge le transfert de données binaires.
En suivant ces étapes, vous pouvez exploiter file_get_contents() et le contexte de flux HTTP pour télécharger des fichiers sur un serveur Web distant.
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!