php pathinfo()与parse_url()函数用法与区别

在php中pathinfo()与parse_url()函数都可以获取url的信息,但是个人感觉这两个函数几乎没有什么共同之处呀,下面我来转一篇关于pathinfo()与parse_url()函数用法.

说明:mixed pathinfo ( string $path [, int $options ] )

pathinfo() 返回一个关联数组包含有 path 的信息,包括以下的数组单元:dirname,basename 和 extension.

可以通过参数 options 指定要返回哪些单元,它们包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和 PATHINFO_EXTENSION,默认是返回全部的单元,如果不是要求取得所有单元,则本函数返回字符串.

Example #1 pathinfo() 例子,代码如下:

  1. <?php
  2. $path_parts = pathinfo(“/www/htdocs/index.html”);
  3. echo $path_parts["dirname"] . ” “;
  4. echo $path_parts["basename"] . ” “;
  5. echo $path_parts["extension"] . ” “;
  6. ?>
  7. //以上例程会输出:
  8. /www/htdocs
  9. index.html

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

parse_url (PHP 4, PHP 5)

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

说明:array parse_url(string $url)本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分.

本函数不是用来验证给定 URL 的合法性的,只是将其分解为下面列出的部分,不完整的 URL 也被接受,parse_url() 会尝试尽量正确地将其解析.

参数:url,要解析的 URL

返回值:对严重不合格的 URL,parse_url() 可能会返回 FALSE 并发出 E_WARNING,否则会返回一个关联数组,其组成部分为,至少有一个:

  1. •scheme - 如 http
  2. •host
  3. •port
  4. •user
  5. •pass
  6. •path
  7. •query - 在问号 ? 之后
  8. •fragment - 在散列符号 # 之后

范例,Example #1 parse_url() 例子,代码如下:

  1. <?php
  2. $url = 'http://username:password@hostname/path?arg=value#anchor';
  3. print_r(parse_url($url));
  4. ?>//开源代码phpfensi.com
  5. //以上例程会输出:
  6. Array
  7. (
  8. [scheme] => http
  9. [host] => hostname
  10. [user] => username
  11. [pass] => password
  12. [path] => /path
  13. [query] => arg=value
  14. [fragment] => anchor
  15. )

注释 Note:本函数不能用于相对 URL,1