网络函数库
时间:2008-04-17 来源:剑心通明
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 连接。
参考: 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
参考: gethostbyname()
gethostbyname
返回 ip 网址。
语法: string gethostbyname(string hostname);
返回值: 字符串
函数种类: 网络系统
内容说明: 本函数可返回某个机器名称 (domain name) 的 ip 网址 (ip address)。若执行失败,则返回原来的机器名称。
使用范例
下例的返回值为 140.137.33.246
参考: gethostbyaddr()
gethostbynamel
返回机器名称的所有 ip。
语法: array gethostbynamel(string hostname);
返回值: 数组
函数种类: 网络系统
内容说明: 若一个机器名称有很多个 ip 位址 (例如一些 ftp 或是 www 网站),使用本函数可以取得全部的 ip 位址,返回到数组变量中。
使用范例
本范例列出所有网景 ftp 站的 ip。(注:网景的 ftp 站是一个 domain name 却对映到许多 ip address 的网站。)
";
for ($i=0; $i".$netscapeftp[$i];
}
echo "";
?>
参考: 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 系列的操作系统中,本函数没有完全的实作。
使用范例
参考: 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。
使用范例
debugger_off
关闭内建的 php 调试器。
语法: int debugger_off(void);
返回值: 整数
函数种类: php 系统功能
内容说明: 本函数用来关闭远端的机器 php 调试功能。本函数无传入参数。
相关阅读 更多 +