Fonction PHP fsockopen() : Tout ce que vous devez savoir
Apprenez à utiliser la fonction PHP fsockopen() pour établir des connexions réseau TCP/IP et communiquer avec d'autres serveurs.
En tant que développeur PHP, vous pouvez avoir besoin d'établir une connexion réseau et de communiquer avec un autre serveur via le protocole TCP/IP. La fonction fsockopen() fsockopen() fsockopen() stream_socket_client() ou cURL à la place. Cet article explique cette fonction héritée à des fins de référence et de migration.
Qu'est-ce que la fonction fsockopen() ?
La fonction fsockopen() ouvre une connexion réseau TCP/IP vers un hôte et un port spécifiés, permettant l'envoi et la réception de données via des pointeurs de fichiers.
Comment utiliser la fonction fsockopen() ?
L'utilisation de la fonction fsockopen() est simple. Voici la syntaxe :
Syntaxe PHP
fsockopen($hostname, $port, &$errno, &$errstr, $timeout);La fonction accepte cinq paramètres :
$hostname: Le nom d'hôte ou l'adresse IP du serveur.$port: Le numéro de port auquel se connecter.&$errno: Une variable qui stocke le numéro d'erreur, le cas échéant.&$errstr: Une variable qui stocke le message d'erreur, le cas échéant.$timeoutfsockopen()default_socket_timeoutstream_socket_client()inisetting if omitted.
Remarque : Pour les connexions sécurisées, préfixez le nom d'hôte avec
ssl://tls://tls://example.com).
Voici un exemple d'utilisation de la fonction fsockopen() pour établir une connexion réseau avec un serveur et envoyer/recevoir des données :
Exemple d'utilisation
<?php
$host = "example.com";
$port = 80;
$timeout = 30;
$fp = fsockopen($host, $port, $errno, $errstr, $timeout);
if (!$fp) {
echo "Error: $errstr ($errno)<br/>";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}Dans cet exemple, nous utilisons la fonction fsockopen() fsockopen() example.com fgets() function.
Remarque : Pour les requêtes HTTPS, utilisez
tls://$hostvariable.
Conclusion
Bien que fsockopen() fsockopen() stream_socket_client() ou cURL pour les nouveaux projets. Cette référence reste utile pour la maintenance des bases de code héritées.