Dans PHP, la fonction file_get_contents () est utilisée pour lire des fichiers ou obtenir du contenu à partir d'une URL. Lorsque vous devez demander des ressources distantes via le protocole HTTP, File_get_Contents () peut combiner un contexte de flux pour définir les options de contexte de la demande. Nous pouvons utiliser la fonction Stream_Context_get_Options () pour afficher les informations de configuration du contexte de flux actuel, puis comprendre comment la demande est envoyée.
Tout d'abord, passons en revue l'utilisation de base de file_get_contents () . Cette fonction vous permet de lire le contenu des fichiers locaux ou distants. S'il s'agit d'un fichier distant, PHP utilisera le protocole HTTP pour faire la demande.
Lorsque vous devez définir des en-têtes de demande HTTP supplémentaires ou d'autres options, vous pouvez créer un contexte de flux. Ce contexte contient les différentes options de configuration que vous définissez.
Par exemple, supposons que vous souhaitiez accéder à une URL distante, le code peut ressembler à ceci:
$url = 'http://www.example.com/data.json';
$response = file_get_contents($url);
echo $response;
Mais si vous souhaitez définir plus d'options (telles que les en-têtes de demande, les méthodes de demande, etc.), vous devez utiliser le contexte pour le faire:
Nous créons un contexte de flux via la fonction Stream_Context_Create () , et nous pouvons définir des options liées à la demande HTTP. Voici un exemple montrant comment configurer des en-têtes de demande HTTP en utilisant le contexte:
$options = [
'http' => [
'method' => 'GET',
'header' => "Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
]
];
$context = stream_context_create($options);
$url = 'http://m66.net/data.json';
$response = file_get_contents($url, false, $context);
echo $response;
Dans cet exemple, nous créons un contexte contenant l'en-tête de demande HTTP et le transmettons à file_get_contents () pour initier la demande.
Une fois que nous avons un contexte et que nous voulons afficher ses éléments de configuration, nous pouvons utiliser la fonction Stream_Context_get_Options () . Cela renverra toutes les informations de configuration pour le contexte de flux actuel, y compris les options pour tous les paramètres.
Par exemple:
$options = [
'http' => [
'method' => 'GET',
'header' => "Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
]
];
$context = stream_context_create($options);
// Obtenir des informations de configuration de contexte
$config = stream_context_get_options($context);
print_r($config);
La sortie s'affiche:
Array
(
[http] => Array
(
[method] => GET
[header] => Accept-language: en
Cookie: foo=bar
)
)
En combinant file_get_contents () et stream_context_get_options () , vous pouvez créer des demandes HTTP avec des configurations personnalisées et afficher ces informations de configuration en cas de besoin. Ceci est très utile pour le débogage et le contrôle plus profond des demandes HTTP.
En utilisant File_get_Contents () et le contexte de streaming, vous pouvez envoyer des demandes HTTP de manière plus flexible.
La fonction Stream_Context_get_Options () vous permet de visualiser les informations de configuration du contexte de flux actuel.
Cette méthode peut vous aider à déboguer des demandes ou à afficher la configuration de la demande que vous utilisez réellement.
Espérons que cet article vous aide à comprendre comment combiner file_get_contents () et stream_context_get_options () pour afficher et manipuler la configuration de contexte des demandes HTTP.