| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 | 论坛
    学好外语能够获得更多的国外先进编程技术  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> Web开发 >> 网络编程 >> PHP编程 >> PHP基础教程 >> 文章正文
[图文]网络函数库        【字体:
网络函数库
作者:佚名    文章来源:不详    点击数:    更新时间:2006-4-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 连接。
$fp = fsockopen("php.wilson.gs", 80, &$errno, &$errstr, 10);
if(!$fp) {
echo "$errstr ($errno)
\n";
} else {
fputs($fp,"GET / HTTP/1.0\nHost: php.wilson.gs\n\n");
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()

[1] [2] [3] 下一页  

文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • smarty实例教程〔转〕1

  • smarty实例教程〔转〕2

  • smarty实例教程〔转〕3

  • smarty实例教程〔转〕4

  • 十天学会php之第七天

  • 十天学会php之第一天

  • 十天学会php之第二天

  • 十天学会php之第三天

  • 十天学会php之第四天

  • 十天学会php之第六天

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |