PHP 菜鳥教程

PHP 高級教程

PHP & MySQL

PHP 參考手冊

PHP fsockopen() 函數(shù)用法及示例

PHP HTTP  參考手冊

fsockopen()函數(shù)打開一個網(wǎng)絡(luò)連接或者一個Unix套接字連接。

語法

resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )

定義和用法

它用于打開Internet或Unix域套接字連接。

初始化一個套接字連接到指定主機(hostname)。
PHP支持以下的套接字傳輸器類型列表 所支持的套接字傳輸器(Socket Transports)列表。也可以通過stream_get_transports()來獲取套接字傳輸器支持類型。
默認(rèn)情況下將以阻塞模式開啟套接字連接。當(dāng)然你可以通過stream_set_blocking()將它轉(zhuǎn)換到非阻塞模式。
stream_socket_client()與之非常相似,而且提供了更加豐富的參數(shù)設(shè)置,包括非阻塞模式和提供上下文的的設(shè)置。

返回值

 fsockopen()將返回一個文件句柄,之后可以被其他文件類函數(shù)調(diào)用(例如:fgets(),fgetss(),fwrite(),fclose()還有feof())。如果調(diào)用失敗,將返回FALSE。

注意:如果主機(hostname)不可訪問,將會拋出一個警告級別(E_WARNING)的錯誤提示。

參數(shù)

序號參數(shù)和說明
1

hostname

如果安裝了OpenSSL,那么你也許應(yīng)該在你的主機名地址前面添加訪問協(xié)議ssl://或者是tls://,從而可以使用基于TCP/IP協(xié)議的SSL或者TLS的客戶端連接到遠(yuǎn)程主機。

2

port

端口號。如果對該參數(shù)傳一個-1,則表示不使用端口,例如unix://。

3

errno

保存系統(tǒng)級connect()調(diào)用中發(fā)生的系統(tǒng)級錯誤號

4

errstr

錯誤信息將以字符串的信息返回。

5

timeout

 設(shè)置連接的時限,單位為秒。 

在線示例

試試下面的實例

<?php
   $connection = fsockopen("www.soo66.com", 80, $errno, $errstr, 30);
   
   if (!$connection) {
      echo "$errstr ($errno)
      \n";
   }else {
      $out = "GET / HTTP/1.1\r\n";
      $out .= "Host: www.soo66.com\r\n";
      $out .= "Connection: Close\r\n\r\n";
      
      fwrite($connection, $out);
      
      while (!feof($connection)) {
         echo fgets($connection, 128);
      }
      fclose($connection);
   }
?>

上面的示例打開連接

PHP HTTP  參考手冊

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清