# 网络

* [checkdnsrr - 给指定的主机或者 IP 地址做 DNS 通信检查](#checkdnsrr)
* [closelog - 关闭系统日志链接](#closelog)
* [dns_check_record - 给指定的主机或者 IP 地址做 DNS 通信检查](#dnscheckrecord)
* [dns_get_mx - 获取互联网主机名对应的 MX 记录](#dnsgetmx)
* [dns_get_record - 获取指定主机的 DNS 记录](#dnsgetrecord)
* [fsockopen - 打开一个网络连接或者一个 Unix 套接字连接](#fsockopen)
* [gethostbyaddr - 获取指定的 IP 地址对应的主机名](#gethostbyaddr)
* [gethostbyname - 返回主机名对应的 IPv4 地址](#gethostbyname)
* [gethostbynamel - 获取互联网主机名对应的 IPv4 地址列表](#gethostbynamel)
* [gethostname - 获取主机名](#gethostname)
* [getmxrr - 获取互联网主机名对应的 MX 记录](#getmxrr)
* [getprotobyname - 获取与协议名称关联的协议编号](#getprotobyname)
* [getprotobynumber - 获取与协议编号关联的协议名称](#getprotobynumber)
* [getservbyname - 获取互联网服务协议对应的端口](#getservbyname)
* [getservbyport - 获取与端口和协议相对应的互联网服务](#getservbyport)
* [header_register_callback - 调用一个 header 函数](#headerregistercallback)
* [header_remove - 删除之前设置的 HTTP 头](#headerremove)
* [header - 发送原生 HTTP 头](#header)
* [headers_list - 返回已发送的 HTTP 响应头（或准备发送的）](#headerslist)
* [headers_sent - 检测 HTTP 头是否已经发送](#headerssent)
* [http_response_code - 获取 / 设置响应的 HTTP 状态码](#httpresponsecode)
* [inet_ntop - 将压缩的 IP 地址转换为人类可读的表示形式](#inetntop)
* [inet_pton - 将人类可读的 IP 地址转换为压缩的表示形式](#inetpton)
* [ip2long - 将 IPV4 的字符串互联网协议转换成长整型数字](#ip2long)
* [long2ip - 将长整型转化为字符串形式带点的互联网标准格式地址（IPV4）](#long2ip)
* [openlog - 打开与系统记录器的连接](#openlog)
* [pfsockopen - 打开一个持久的网络连接或者 Unix 套接字连接](#pfsockopen)
* [setcookie - 发送 Cookie](#setcookie)
* [setrawcookie - 发送未经 URL 编码的 cookie](#setrawcookie)
* [socket_get_status - 从封装协议文件指针中取得报头／元数据](#socketgetstatus)
* [socket_set_blocking - 为资源流设置阻塞或者阻塞模式](#socketsetblocking)
* [socket_set_timeout - 在资源流上设置超时时间](#socketsettimeout)
* [syslog - 生成系统日志消息](#syslog)

## checkdnsrr

```php
<?php

var_dump(checkdnsrr('example.com'));      // bool(true)
var_dump(checkdnsrr('github.com'));       // bool(true)
var_dump(checkdnsrr('github.com', 'MX')); // bool(true)
var_dump(checkdnsrr('github.com', 'A'));  // bool(true)

```

## closelog

```php
<?php

var_dump(closelog()); // bool(true)

```

## dns_check_record

```php
<?php

var_dump(dns_check_record('example.com'));      // bool(true)
var_dump(dns_check_record('github.com'));       // bool(true)
var_dump(dns_check_record('github.com', 'MX')); // bool(true)
var_dump(dns_check_record('github.com', 'A'));  // bool(true)

```

## dns_get_mx

```php
<?php

var_dump(dns_get_mx('github.com', $mxhosts, $weight)); // bool(true)
var_dump($mxhosts, $weight);

```

## dns_get_record

```php
<?php

var_dump(dns_get_record('github.com'));
var_dump(dns_get_record('github.com', DNS_ANY));
var_dump(dns_get_record('github.com', DNS_MX));
var_dump(dns_get_record('github.com', DNS_A));
var_dump(dns_get_record('github.com', DNS_ANY, $authns, $addtl));
var_dump($authns, $addtl);

```

## fsockopen

```php
<?php

var_dump(fsockopen('www.example.com', 80));                      // resource(4) of type (stream)
var_dump(fsockopen('www.example.com', 80, $errno, $errstr, 30)); // resource(5) of type (stream)

```

## gethostbyaddr

```php
<?php

var_dump(gethostbyaddr('127.0.0.1'));
var_dump(gethostbyaddr('192.30.255.112'));
var_dump(gethostbyaddr($_SERVER['REMOTE_ADDR']));

```

## gethostbyname

```php
<?php

var_dump(gethostbyname('github.com'));
var_dump(gethostbyname('example.com'));

```

## gethostbynamel

```php
<?php

var_dump(gethostbynamel('github.com'));
var_dump(gethostbynamel('example.com'));

```

## gethostname

```php
<?php

var_dump(gethostname());

```

## getmxrr

```php
<?php

var_dump(getmxrr('github.com', $mxhosts, $weight)); // bool(true)
var_dump($mxhosts, $weight);

```

## getprotobyname

```php
<?php

var_dump(getprotobyname('tcp')); // int(6)
var_dump(getprotobyname('udp')); // int(17)

```

## getprotobynumber

```php
<?php

var_dump(getprotobynumber(6));  // string(3) "tcp"
var_dump(getprotobynumber(17)); // string(3) "udp"

```

## getservbyname

```php
<?php

var_dump(getservbyname('http', 'tcp')); // int(80)
var_dump(getservbyname('www', 'tcp'));  // int(80)
var_dump(getservbyname('ftp', 'tcp'));  // int(21)
var_dump(getservbyname('ssh', 'tcp'));  // int(22)

```

## getservbyport

```php
<?php

var_dump(getservbyport(80, 'tcp')); // string(4) "http"
var_dump(getservbyport(21, 'tcp')); // string(3) "ftp"
var_dump(getservbyport(22, 'tcp')); // string(3) "ssh"

```

## header_register_callback

```php
<?php

/**
 * Just a test function.
 *
 * @param  void
 * @return void
 */
function foo()
{
    //
}

var_dump(header_register_callback('foo')); // bool(true)

```

## header_remove

```php
<?php

header('Location: http://www.example.com');
header_remove('Location');

header('Foo: foo');
header('Bar: bar');
header_remove();

```

## header

```php
<?php

header('Location: http://www.example.com');
header('HTTP/1.1 404 Not Found');

```

## headers_list

```php
<?php

var_dump(headers_list());

```

## headers_sent

```php
<?php

var_dump(headers_sent());
var_dump(headers_sent($file, $line));

```

## http_response_code

```php
<?php

var_dump(http_response_code());    // bool(false)
var_dump(http_response_code(200)); // bool(true)
var_dump(http_response_code(404)); // int(200)
var_dump(http_response_code());    // int(404)

```

## inet_ntop

```php
<?php

var_dump(inet_ntop(chr(127) . chr(0) . chr(0) . chr(1)));   // string(9) "127.0.0.1"
var_dump(inet_ntop(chr(192) . chr(168) . chr(1) . chr(1))); // string(11) "192.168.1.1"

```

## inet_pton

```php
<?php

var_dump(inet_pton('127.0.0.1'));
var_dump(inet_pton('192.168.1.1'));

```

## ip2long

```php
<?php

var_dump(ip2long(''));              // bool(false)
var_dump(ip2long('.'));             // bool(false)
var_dump(ip2long('127.0.0.1'));     // int(2130706433)
var_dump(ip2long('192.168.1.1'));   // int(3232235777)
var_dump(ip2long('192.168.1.256')); // bool(false)

```

## long2ip

```php
<?php

var_dump(long2ip(2130706433)); // string(9) "127.0.0.1"
var_dump(long2ip(3232235777)); // string(11) "192.168.1.1"

```

## openlog

```php
<?php

openlog('log', LOG_PID | LOG_PERROR, LOG_USER);

```

## pfsockopen

```php
<?php

var_dump(pfsockopen('www.example.com', 80));                      // resource(4) of type (persistent stream)
var_dump(pfsockopen('www.example.com', 80, $errno, $errstr, 30)); // resource(5) of type (persistent stream)

```

## setcookie

```php
<?php

var_dump(setcookie('foo', 'foo'));
var_dump(setcookie('foo', 'foo', time() + 3600));
var_dump(setcookie('foo', 'foo', time() + 3600, '/'));
var_dump(setcookie('foo', 'foo', time() + 3600, '/', 'example.com'));
var_dump(setcookie('foo', 'foo', time() + 3600, '/', 'example.com', true));
var_dump(setcookie('foo', 'foo', time() + 3600, '/', 'example.com', true, true));

```

## setrawcookie

```php
<?php

var_dump(setrawcookie('foo', 'foo'));
var_dump(setrawcookie('foo', 'foo', time() + 3600));
var_dump(setrawcookie('foo', 'foo', time() + 3600, '/'));
var_dump(setrawcookie('foo', 'foo', time() + 3600, '/', 'example.com'));
var_dump(setrawcookie('foo', 'foo', time() + 3600, '/', 'example.com', true));
var_dump(setrawcookie('foo', 'foo', time() + 3600, '/', 'example.com', true, true));

```

## socket_get_status

```php
<?php

var_dump(socket_get_status(fsockopen('www.example.com', 80)));

```

## socket_set_blocking

```php
<?php

var_dump(socket_set_blocking(fsockopen('www.example.com', 80), 0)); // bool(true)
var_dump(socket_set_blocking(fsockopen('www.example.com', 80), 1)); // bool(true)

```

## socket_set_timeout

```php
<?php

var_dump(socket_set_timeout(fsockopen('www.example.com', 80), 30)); // bool(true)

```

## syslog

```php
<?php

var_dump(syslog(LOG_ERR, 'PHP Fatal error:  Error!'));
var_dump(syslog(LOG_WARNING, 'PHP Warning: Warning!'));
var_dump(syslog(LOG_NOTICE, 'PHP Notice: Notice!'));

```

