查詢

fsockopen()函式—用法及示例

「 建立一個與指定主機和埠的網路連線 」


函式名稱: 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 請求,最後輸出伺服器返回的內容。如果連線失敗,將會顯示錯誤資訊。

補充糾錯
上一個函式: fsync()函式
下一個函式: fseek()函式
熱門PHP函式
分享連結