转载 PHP网络函数收藏

新一篇: 根据主机名获取PC的IP地址 | 旧一篇: FDISK /MBR

 fsockopen: 打开网络的 Socket 链接。
  pfsockopen: 打开网络的 Socket 持续链接。
  set_socket_blocking: 切换阻塞与无阻塞模式。
  gethostbyaddr: 返回机器名称。
  gethostbyname: 返回 IP 网址。
  gethostbynamel: 返回机器名称的所有 IP。
  checkdnsrr: 检查指定网址的 DNS 记录。
  getmxrr: 取得指定网址 DNS 记录之 MX 字段。
  openlog: 打开系统纪录。
  syslog: 纪录至系统纪录。
  closelog: 关闭系统纪录。
  debugger_on: 使用内建的 PHP 调试器。
  debugger_off: 关闭内建的 PHP 调试器。 

  fsockopen 打开网络的 Socket 链接。
  语法: int fsockopen(string hostname, int port, int [errno], string [errstr], int [timeout]);
  返回值: 整数
  函数种类: 网络系统
  内容说明: 目前这个函数提供二个 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() 转换成无搁置模式。

  使用范例,本例用来模拟成 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);
    }
  ?> 
  参考: pfsockopen() 

  pfsockopen 打开网络的 Socket 持续链接。
  语法: int pfsockopen(string hostname, int port, int [errno], string [errstr], int [timeout]);
  返回值: 整数
  函数种类: 网络系统
  内容说明: 本函数和 fsockopen() 类似,但本函数在 PHP 程序结束时,不会将网络 socket 链接关闭,仍保持连接。用这种方式,可以增加效率,但较耗系统资源。

  set_socket_blocking 切换阻塞与无阻塞模式。
  语法: int set_socket_blocking(int socket descriptor, int mode);
  返回值: 整数
  函数种类: 网络系统
  内容说明: 若参数 mode 值为 false,会将 socket 切换到无阻塞模式 (non-blocking mode);若 mode 值为 true,则切换成阻塞模式。当使用 fgets() 等函数读取 socket 时,无法确定返回时间,用无阻塞模式可使行程继续,不会因无法读到资料而阻塞。

  gethostbyaddr 返回机器名称。
  语法: string gethostbyaddr(string ip_address);
  返回值: 字符串
  函数种类: 网络系统
  内容说明: 本函数可返回某个 IP 网址的机器名称 (Domain Name)。若执行失败,则返回原来的 IP 网址。

  使用范例,下例的返回值为 dns.biglobe.net.tw
  <?
    echo gethostbyaddr("202.166.255.97");
  ?> 
  参考: gethostbyname()

  gethostbyname 返回 IP 网址。
  语法: string gethostbyname(string hostname);
  返回值: 字符串
  函数种类: 网络系统
  内容说明: 本函数可返回某个机器名称 (Domain Name) 的 IP 网址 (IP Address)。若执行失败,则返回原来的机器名称。

  使用范例,下例的返回值为 140.137.33.246
  <?
  echo gethostbyaddr("www.hkcc.pccu.edu.tw");
  ?> 
  参考: gethostbyaddr()

  gethostbynamel 返回机器名称的所有 IP。
  语法: array gethostbynamel(string hostname);
  返回值: 数组
  函数种类: 网络系统
  内容说明: 若一个机器名称有很多个 IP 位址 (例如一些 FTP 或是 WWW 网站),使用本函数可以取得全部的 IP 位址,返回到数组变量中。

  使用范例,本范例列出所有网景 FTP 站的 IP。(注:网景的 FTP 站是一个 Domain Name 却对映到许多 IP Address 的网站。)
  <?php
    $netscapeftp=gethostbynamel("ftp.netscape.com");
    echo "Netscape FTP 网站 IP Address:<ol type=1>";
    for ($i=0; $i<count($netscapeftp); $i++) {
     echo "<li>".$netscapeftp[$i];
    }
    echo "</ol>";
  ?> 
  参考: gethostbyaddr() gethostbyname() checkdnsrr() getmxrr()

  checkdnsrr 检查指定网址的 DNS 记录。
  语法: int checkdnsrr(string host, string [type]);
  返回值: 整数
  函数种类: 网络系统
  内容说明: 本函数用来检查 DNS 的字段纪录。指定的参数 host 可以是网络位址 (IP Address),也可以用机器名称 (Domain Name)。参数 type 可以省略,内定值为 MX。而参数 type 的值可为以下的其中之一:A、MX、NS、SOA、PTR、CNAME 或 ANY。若找到了指定网址的 DNS 字段,返回 true;若未找到指定的 DNS 字段或是有错误均会返回 false。
  参考: gethostbyaddr() gethostbyname() gethostbynamel() getmxrr()

  getmxrr 取得指定网址 DNS 记录之 MX 字段。
  语法: int getmxrr(string hostname, array mxhosts, array [weight]);
  返回值: 整数
  函数种类: 网络系统
  内容说明: 本函数用来检查 DNS 字段纪录中的 MX 字段,也就是电子邮件服务器 Mail eXchanger 字段。若找到了指定网址 DNS 纪录的 MX 字段,返回 true;若未找到指定的 DNS MX 字段或是有错误均会返回 false。指定网址的所有 MX 字段纪录的机器都会传入数组参数 mxhosts 中。若有指定数组参数 weight,则同时返回 MX 机器的优先顺序。
  参考: gethostbyaddr() gethostbyname() gethostbynamel() checkdnsrr()

  openlog 打开系统纪录。
  语法: int openlog(string ident, int option, int facility);
  返回值: 整数
  函数种类: 操作系统与环境
  内容说明: 本函数会打开操作系统的纪录机制 (logger)。参数 ident 会加到纪录的字符串中。参数 option 的值包括了 LOG_PID、LOG_CONS、LOG_ODELAY、LOG_NDELAY、LOG_NOWAIT、LOG_PERROR,在 Win32 系统中,只有 LOG_PID 有效。参数 facility 的值可能为 LOG_KERN、LOG_USER、LOG_MAIL、LOG_DAEMON、LOG_AUTH、LOG_SYSLOG、LOG_LPR、 LOG_NEWS、LOG_UUCP、LOG_CRON 或 LOG_AUTHPRIV,在 Win32 系统上,本参数是无效的字段。本函数呼叫 UNIX 系统的 openlog() 函数,因此在 Windows 系列的操作系统中,本函数没有完全的实作。

  使用范例
  <?php
    openlog("FUN", LOG_PID | LOG_CONS, LOG_USER);
    syslog(LOG_INFO, "Wa ha ha ....");
    closelog();
  ?> 
  参考: syslog() closelog()

  syslog 纪录至系统纪录。
  语法: int syslog(int priority, string message);
  返回值: 整数
  函数种类: 操作系统与环境
  内容说明: 本函数将 message 字符串写到系统纪录中,参数 priority 的值可能为 LOG_EMERG、LOG_ALERT、LOG_CRIT、LOG_ERR、LOG_WARNING、LOG_NOTICE、LOG_INFO、 LOG_DEBUG。本函数呼叫 UNIX 操作系统的 syslog() 函数,在 Windows NT 上,使用事件检视器模拟出本功能。
  参考: openlog() closelog()

  closelog 关闭系统纪录。
  语法: int closelog(void);
  返回值: 整数
  函数种类: 操作系统与环境
  内容说明: 本函数用来关闭已打开的系统纪录。本函数无传入参数,亦不是必须要的函数,PHP 脚本程序在执行完成后就会自动关闭打开的资源。
  参考: openlog() syslog()

  debugger_on 使用内建的 PHP 调试器。
  语法: int debugger_on(string address);
  返回值: 整数
  函数种类: PHP 系统功能
  内容说明: 本函数用来对远端的机器 PHP 调试。调试使用的埠 (Port) 在 php.ini 中的 debugger.port 字段配置,内定埠是 7869。

  使用范例
  <?php
    debugger_on("123.123.123.123"); 
  ?> 

  debugger_off 关闭内建的 PHP 调试器。
  语法: int debugger_off(void);
  返回值: 整数
  函数种类: PHP 系统功能
  内容说明: 本函数用来关闭远端的机器 PHP 调试功能。本函数无传入参数。 

发表于 @ 2006年08月01日 17:11:00|评论(loading...)|编辑|收藏

新一篇: 根据主机名获取PC的IP地址 | 旧一篇: FDISK /MBR

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © jom_ch