語法: int fsockopen(string hostname, int port, int [errno], string [errstr], int [timeout]);
返回值: 整數
函數種類: 網絡系統內容說明: 目前PHP網絡函數fsockopen提供二個 Socket 資料流界面,分別為 Internet 用的 AF_INET 及 Unix 用的 AF_UNIX。當在 Internet 情形下使用時,參數 hostname 及 port 分別代表網址及埠號。在 UNIX 情形可做 IPC,hostname 參數表示到 socket 的路徑,port 配置為 0。可省略的 timeout 選項表示多久沒有連上就中斷。在使用本函數之後會返回文件指針,供文件函數使用,包括 fgets()、fgetss()、fputs()、fclose() 與 feof()。參數 errno 及 errstr 也是可省略的,主要當做錯誤處理使用。使用本函數,會使用擱置模式 (blocking mode) 處理,可用set_socket_blocking() 轉換成無擱置模式。
PHP網絡函數fsockopen的使用范例,本例用來模擬成 HTTP 連接。
- <?php
- $fp = fsockopen("php.wilson.gs", 80, &$errno, &$errstr, 10);
- if(!$fp) {
- echo "$errstr ($errno)<br>n";
- } else {
- fputs($fp,"GET / HTTP/1.0nHost: php.wilson.gsnn");
- while(!feof($fp)) {
- echo fgets($fp,128);
- }
- fclose($fp);
- }
- ?>
通過上面這段PHP網絡函數fsockopen的使用示例,讀者朋友們是不是已經能夠基本掌握了這個函數的用法了呢?