您当前的位置: 首页 > 网站编程 > PHP教程 > php中url函数介绍及使用

php中url函数介绍及使用

作者:不详 来源:网络 发布时间: 2014-08-08 16:23 点击:
本文主要介绍了PHP处理url字符串编码、解码与解析。下面进行详细的举例说明 base64_encode 使用 MIME base64 对数据进行编码 base64_encode() returns 使用 base64 对 data 进行编码。设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的

php中url函数介绍及使用

  本文主要介绍了PHP处理url字符串编码、解码与解析。下面进行详细的举例说明

  base64_encode — 使用 MIME base64 对数据进行编码

  base64_encode() returns 使用 base64 对 data 进行编码。设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的主体。

  Base64-encoded 数据要比原始数据多占用 33% 左右的空间。

  代码如下:

  <?php

  $str = 'This is an encoded string';

  // VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==

  echo base64_encode($str);

  ?>

  base64_decode — 对使用 MIME base64 编码的数据进行解码

  base64_decode() 对 encoded_data 进行解码,返回原始数据,失败则返回 FALSE。返回的数据可能是二进制的。

  代码如下:

  <?php

  $str = 'VGhpcyBpcyBhbiBlbmNvZGVkIHN0cmluZw==';

  // This is an encoded string

  echo base64_decode($str);

  ?>

  get_headers — 取得服务器响应一个 HTTP 请求所发送的所有标头

  get_headers() 返回一个数组,包含有服务器响应一个 HTTP 请求所发送的标头。如果失败则返回 FALSE 并发出一条 E_WARNING 级别的错误信息。

  如果将可选的 format 参数设为 1,则 get_headers() 会解析相应的信息并设定数组的键名。

  代码如下:

  <?php

  $phpha1 = get_headers('http://www.jb51.net');

  $phpha2 = get_headers('http://www.jb51.net', 1);

  print_r($phpha1);

  print_r($phpha2);

  ?>

  输出如下:

  代码如下:

  Array

  (

  [0] => HTTP/1.1 200 OK

  [1] => Server: nginx/1.2.2

  [2] => Date: Tue, 06 Nov 2012 10:17:59 GMT

  [3] => Content-Type: text/html; charset=UTF-8

  [4] => Connection: close

  [5] => X-Powered-By: PHP/5.3.8

  [6] => X-Pingback: http://www.jb51.net/xmlrpc.php

  [7] => Via: 10.67.15.26

  [8] => Set-Cookie: saeut=124.127.138.35.1352197078737175; path=/; max-age=311040000

  )

  Array

  (

  [0] => HTTP/1.1 200 OK

  [Server] => nginx/1.2.2

  [Date] => Tue, 06 Nov 2012 10:17:59 GMT

  [Content-Type] => text/html; charset=UTF-8

  [Connection] => close

  [X-Powered-By] => PHP/5.3.8

  [X-Pingback] => http://www.jb51.net/xmlrpc.php

  [Via] => 10.67.15.21

  [Set-Cookie] => saeut=124.127.138.35.1352197079055460; path=/; max-age=311040000

  )

  get_meta_tags — 从一个文件中提取所有的 meta 标签 content 属性,返回一个数组

  可以想象的到,某些网站可以方便的用此函数进行网站SEO信息的提龋

  代码如下:

  <?php

  //天涯PHP博客 http://www.jb51.net

  $phpha = get_meta_tags('http://www.jb51.net');

  print_r($phpha);

  ?>

  输出如下:

  代码如下:

  Array

  (

  [keywords] => 天涯博客,PHP博客,PHP技术博客,PHP学习博客,PHP开发博客

  [description] => 天涯PHP博客是以PHP为主的学习博客,记载PHPER的学习历程,关注互联网最新发展动态。

  [generator] => WordPress 3.2.1

  )

  http_build_query — 生成 URL-encode 之后的请求字符串

  <?php

  $url = array('c'=>'blog', 'a'=>'show', 'id'=>10, 'hello', 'world');

  // c=blog&a=show&id=10&0=hello&1=world

  echo http_build_query($url);

  // c=blog&a=show&id=10&phpha_0=hello&phpha_1=world

  echo http_build_query($url, 'jb51_');

  ?>

  [/code]

  这个函数目前我用的最多的地方就是做各种API时,组合请求的url,非常的方便。

  另外可以看到,对于数组内数字索引的成员,还可以指定前缀。

  parse_url — 解析 URL,返回其组成部分

  本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。本函数不是用来验证给定 URL 的合法性的,只是将其分解为下面列出的部分。不完整的 URL 也被接受,parse_url() 会尝试尽量正确地将其解析。

  代码如下:

  <?php

  $url = 'http://tianya:jb51.net@jb51.com/hello.php?id=10#nav';

  print_r(parse_url($url));

  ?>

  Array

  (

  [scheme] => http

  [host] => phpha.com

  [user] => tianya

  [pass] => phphadotcom

  [path] => /hello.php

  [query] => id=10

  [fragment] => nav

  )

  rawurlencode — 按照 RFC 1738 对 URL 进行编码

  rawurldecode — 对已编码的 URL 字符串进行解码

  urlencode — 编码 URL 字符串

  urldecode — 解码已编码的 URL 字符串

  代码如下:

  <?php

  $url = 'http://www.jb51.net tianya';

  echo urlencode($url);

  echo '<br />';

  echo rawurlencode($url);

  echo '<br />';

  echo urldecode($url);

  echo '<br />';

  echo rawurldecode($url);

  ?>

  输出如下:

  代码如下:

  http%3A%2F%2Fwww.jb51.net+tianya

  http%3A%2F%2Fwww.jb51.net%20tianya

  可以看到,urlencode与rawurlencode的区别在于:

  urlencode() 会把空格编码为加号(+),rawurlencode() 则把空格编码为 %20

  urldecode()和rawurldecode() 则为对应的解码函数。
分享到:
本文"php中url函数介绍及使用"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4