函式名稱: fsockopen()
適用版本: PHP 4, PHP 5, PHP 7
用法: fsockopen() 函式用於建立一個與指定主機和埠的網路連線。
語法: resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )
引數:
- hostname:要連線的目標主機的域名或 IP 地址。
- port:可選引數,指定要連線的目標埠,預設為 -1,表示使用預設埠。
- errno:可選引數,用於儲存發生的錯誤程式碼。
- errstr:可選引數,用於儲存發生的錯誤資訊。
- timeout:可選引數,指定連線超時時間,預設為 ini_get("default_socket_timeout"),即預設套接字超時時間。
返回值:成功時返回一個開啟的連線資源,失敗時返回 FALSE。
示例:
<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "連線失敗: $errstr ($errno)";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp);
}
fclose($fp);
}
?>
以上示例嘗試與 "www.example.com" 的 HTTP 伺服器建立連線,併傳送一個簡單的 GET 請求,最後輸出伺服器返回的內容。如果連線失敗,將會顯示錯誤資訊。