PHP函数参考20-网络相关函数

原文:
PHP函数参考20-网络相关函数 - 9ong
PHP函数参考21-针对服务器扩展函数 - 9ong

网络函数提供一系列联网函数。

  • checkdnsrr — 给指定的主机(域名)或者IP地址做DNS通信检查

  • closelog — 关闭系统日志链接

  • define_syslog_variables — Initializes all syslog related variables

  • dns_check_record — 别名 checkdnsrr

    根据不同记录(type)类型查询主机(host)相应的DNS记录。

    host:主机(host)可以是一个IP地址也可以是域名。

    type:解析记录类型(type)可能是下面这些类型中的任何一个:A,MX,NS,SOA,PTR,CNAME,AAAA,A6, SRV,NAPTR,TXT 或者 ANY。

  • dns_get_mx — 别名 getmxrr

  • dns_get_record — 获取指定主机的DNS记录

    获取指定主机(hostname)的DNS记录。

  • fsockopen — 打开一个网络连接或者一个Unix套接字连接

    fsockopen()将返回一个文件句柄,之后可以被其他文件类函数调用(例如:fgets(),fgetss(),fwrite(),fclose()还有feof())。如果调用失败,将返回FALSE。

  • gethostbyaddr — 获取指定的IP地址对应的主机名

  • gethostbyname — 返回主机名对应的 IPv4地址。

  • gethostbynamel — 获取互联网主机名对应的 IPv4 地址列表

  • gethostname — 获取主机名

  • getmxrr — 获取互联网主机名对应的 MX 记录

  • getprotobyname — Get protocol number associated with protocol name

  • getprotobynumber — Get protocol name associated with protocol number

  • getservbyname — 获取互联网服务协议对应的端口

  • getservbyport — Get Internet service which corresponds to port and protocol

  • header_register_callback — 调用一个 header 函数

    注册一个函数,在 PHP 开始发送输出时调用。

    PHP 准备好所有响应头,在发送内容之前执行 callback,创建了一个发送响应头的操作窗口。

  • header — 发送原生 HTTP 头

    header() 用于发送原生的 HTTP 头。

    请注意 header() 必须在任何实际输出之前调用,不管是普通的 HTML 标签,还是文件或 PHP 输出的空行,空格。这是个常见的错误,在通过include,require,或者其访问其他文件里面的函数的时候,如果在header()被调用之前,其中有空格或者空行。同样的问题也存在于单独的 PHP/HTML 文件中。

    //200 正常状态  
    header('HTTP/1.1 200 OK');  
    
    // 301 永久重定向,记得在后面要加重定向地址 Location:$url  
    header('HTTP/1.1 301 Moved Permanently');  
    
    // 重定向,其实就是302 暂时重定向  
    header('Location: http://www.maiyoule.com/');  
    
    // 设置页面304 没有修改  
    header('HTTP/1.1 304 Not Modified');  
    
    // 显示登录框,  
    header('HTTP/1.1 401 Unauthorized');  
    header('WWW-Authenticate: Basic realm="登录信息"');  
    echo '显示的信息!';  
    
    if (!isset($_SERVER['PHP_AUTH_USER'])) {
        header('WWW-Authenticate: Basic realm="My Realm1"');
        header('HTTP/1.0 401 Unauthorized');
        echo 'Text to send if user hits Cancel button';
        exit;
    } else {
        echo "

    Hello {$_SERVER['PHP_AUTH_USER']}.

    "; echo "

    You entered {$_SERVER['PHP_AUTH_PW']} as your password.

    "; } // 403 禁止访问 header('HTTP/1.1 403 Forbidden'); // 404 错误 header('HTTP/1.1 404 Not Found'); // 500 服务器错误 header('HTTP/1.1 500 Internal Server Error'); // 3秒后重定向指定地址(也就是刷新到新页面与
  • header_remove — 删除之前设置的 HTTP 头

    删除之前用 header() 设置的 HTTP 头。

  • headers_list — 返回已发送的 HTTP 响应头(或准备发送的)

    headers_list() 会返回准备发送给浏览器/客户端的 HTTP 头列表。检测这些头是否已经发送,使用 headers_sent()。

  • headers_sent — 检测 HTTP 头是否已经发送

  • http_response_code — 获取/设置响应的 HTTP 状态码

    如果提供了 response_code,将返回先前的状态码。如果未提供 response_code,会返回当前的状态码。在 Web 服务器环境里,这些状态码的默认值都是 200。

  • inet_ntop — Converts a packed internet address to a human readable representation

  • inet_pton — Converts a human readable IP address to its packed in_addr representation

  • ip2long — 将 IPV4 的字符串互联网协议转换成长整型数字

  • long2ip — 将长整型转化为字符串形式带点的互联网标准格式地址(IPV4)

  • openlog — Open connection to system logger

  • pfsockopen — 打开一个持久的网络连接或者Unix套接字连接。

    这个函数的作用与fsockopen()完全一样的,不同的地方在于当在脚本执行完后,连接一直不会关闭。可以说它是fsockopen()的长连接版本。

  • setcookie — 发送 Cookie

    setcookie() 定义了 Cookie,会和剩下的 HTTP 头一起发送给客户端。和其他 HTTP 头一样,必须在脚本产生任意输出之前发送 Cookie(由于协议的限制)。请在产生任何输出之前(包括 和 或者空格)调用本函数。

    一旦设置 Cookie 后,下次打开页面时可以使用 _REQUEST。

    参数:

    • name

      Cookie 名称。
      value
      Cookie 值。这个值储存于用户的电脑里,请勿储存敏感信息。比如 name 是 'cookiename',可通过 $_COOKIE['cookiename'] 获取它的值。

    • expire

      Cookie 的过期时间。这是个 Unix 时间戳,即 Unix 纪元以来(格林威治时间 1970 年 1 月 1 日 00:00:00)的秒数。也就是说,基本可以用 time() 函数的结果加上希望过期的秒数。或者也可以用 mktime()。 time()+606024*30 就是设置 Cookie 30 天后过期。如果设置成零,或者忽略参数, Cookie 会在会话结束时过期(也就是关掉浏览器时)。

      expire 使用 Unix 时间戳而非 Wdy, DD-Mon-YYYYHH:MM:SS GMT 这样的日期格式,是因为 PHP 内部作了转换。

- path

    Cookie 有效的服务器路径。设置成 '/' 时,Cookie 对整个域名 domain 有效。如果设置成 '/foo/', Cookie 仅仅对 domain 中 /foo/ 目录及其子目录有效(比如 /foo/bar/)。默认值是设置 Cookie 时的当前目录。 

- domain

    Cookie 的有效域名/子域名。设置成子域名(例如 'www.example.com'),会使 Cookie 对这个子域名和它的三级域名有效(例如 w2.www.example.com)。要让 Cookie 对整个域名有效(包括它的全部子域名),只要设置成域名就可以了(这个例子里是 'example.com')。 

    旧版浏览器仍然在使用废弃的 » RFC 2109,需要一个前置的点 . 来匹配所有子域名。 

- secure

    设置这个 Cookie 是否仅仅通过安全的 HTTPS 连接传给客户端。设置成 TRUE 时,只有安全连接存在时才会设置 Cookie。如果是在服务器端处理这个需求,程序员需要仅仅在安全连接上发送此类 Cookie (通过 $_SERVER["HTTPS"] 判断)。 

- httponly

    设置成 TRUE,Cookie 仅可通过 HTTP 协议访问。这意思就是 Cookie 无法通过类似 JavaScript 这样的脚本语言访问。要有效减少 XSS 攻击时的身份窃取行为,可建议用此设置(虽然不是所有浏览器都支持),不过这个说法经常有争议。 PHP 5.2.0 中添加。 TRUE 或 FALSE 
  • setrawcookie — 发送未经 URL 编码的 cookie

    setrawcookie() 和 setcookie() 非常相似,唯一不同之处是发送到浏览器的 cookie 值没有自动经过 URL 编码(urlencode)。

  • socket_get_status — 别名 stream_get_meta_data

  • socket_set_blocking — 别名 stream_set_blocking

  • socket_set_timeout — 别名 stream_set_timeout

  • syslog — 生成系统日志消息

    syslog()生成将由系统日志记录器分发的日志消息。

    我们建议使用seaslog扩展来记录日志。


原文:
PHP函数参考20-网络相关函数 - 9ong
PHP函数参考21-针对服务器扩展函数 - 9ong

你可能感兴趣的:(PHP函数参考20-网络相关函数)