parse_url()    basename()    pathinfo()    dirname() 用法

parse_url()

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

范例1

$usr = "https://baike.baidu.com/item/parse_url/3067021?fr=aladdin";

print_r(parse_url($usr));

Array //输出结果
(
    [scheme] => https
    [host] => baike.baidu.com
    [path] => /item/parse_url/3067021
    [query] => fr=aladdin
)

parse_usr()有两个参数,第一个参数是url地址,第二个参数是你想要的部分(这个可写可不写),第二个参数不写返回的是关联数组。

范例2

$url = 'http://username:password@hostname/path?arg=value#anchor';
var_dump(parse_url($url)); array(7) { //输出结果
["scheme"]=>
string(4) "http"
["host"]=>
string(8) "hostname"
["user"]=>
string(8) "username"
["pass"]=>
string(8) "password"
["path"]=>
string(5) "/path"
["query"]=>
string(9) "arg=value"
["fragment"]=>
string(6) "anchor"
}

以下是第二个参数与以上输出一一对应可得到对应的值
PHP_URL_SCHEME
PHP_URL_HOST
PHP_URL_PORT
PHP_URL_USER
PHP_URL_PASS
PHP_URL_PATH
PHP_URL_QUERY
PHP_URL_FRAGMENT

如:

$url = 'https://baike.baidu.com/item/parse_url/3067021?fr=aladdin';
print_r(parse_url($url,PHP_URL_HOST)); baike.baidu.com //输出结果

basename()

basename -- 返回路径中的文件名部分。给出一个包含有指向一个文件的全路径的字符串,本函数返回基本的文件名。如果文件名是以 suffix 结束的,那这一部分也会被去掉。在 Windows 中,斜线(/)和反斜线(\)都可以用作目录分隔符。在其它环境下是斜线(/)。

范例1

$path = "http://www.test.com/html/test.php";
$file = basename($path);
print_r($file); test.php //输出结果

单是这个basename有个问题(这个是我认为的它会把test.php后面的内容一起输出出来)
缺点范例

$path = "http://www.test.com/html/test.php?k=1";
$file = basename($path);
print_r($file);
test.php?k=1 //输出结果

它可以结合上一个函数使用!
范例

$path = "http://www.test.com/html/test.php?k=1";
$file = parse_url($path,PHP_URL_PATH);
$f = basename($file);
print_r($f); test.php //输出结果

pathinfo()

返回一个关联数组包含有 path 的信息。包括以下的数组单元:。

范例1

$path = "http://www.test.com/html/test.php?k=1";
$path_parts = pathinfo($path);
print_r($path_parts); Array //输出结果
(
[dirname] => http://www.test.com/html
[basename] => test.php?k=1
[extension] => php?k=1
[filename] => test
)

可以通过参数 options 指定要返回哪些单元。它们包括:PATHINFO_DIRNAME,PATHINFO_BASENAME,PATHINFO_FILENAME 和 PATHINFO_EXTENSION。

范例2

$path = "http://www.test.com/html/test.php?k=1";
$path_parts = pathinfo($path,PATHINFO_FILENAME);
print_r($path_parts); test //输出结果

dirname()

dirname -- 返回路径中的目录部分。给出一个包含有指向一个文件的全路径的字符串,本函数返回去掉文件名后的目录名。
范例

$path = "http://www.test.com/html/test.php?k=1";
$dir = dirname($path);
print_r($dir); http://www.test.com/html //输出结果

最新文章

  1. 我的.NET自学之路
  2. Redis从基础命令到实战之有序集合类型(SortedSet)
  3. ndk学习5: ndk中使用c++
  4. 004_URL 路由 - URL 路由
  5. Windows Server 2008 显示桌面图标
  6. php number_format()保留小数点后几位
  7. Codeforces Round #339 (Div. 2) A. Link/Cut Tree 水题
  8. 顺丰接口 api对接说明
  9. POJ 2955 括号匹配,区间DP
  10. JavaScript 的setAttribute兼容性解决
  11. 详解EBS接口开发之供应商导入补充-供应商地点增加实例
  12. 类装载器DexClassLoader (android内核剖析)
  13. 一致 Hash 算法分析
  14. 《Dare To Dream 》第三次作业--团队项目的原型设计与开发
  15. 快速启动神器 Wox
  16. Spring事务嵌套
  17. springMVC中@RequestParam和@RequestBody的作用
  18. JS判断手机端是否安装某应用
  19. .NET Core微服务之路:基于Consul最少集群实现服务的注册与发现(二)
  20. 局外者看 -- 美团 vs 滴滴

热门文章

  1. 韦东山嵌入式Linux学习笔记07--Nandflash
  2. service与pod关联
  3. Python名称空间与作用域
  4. Winform Global exception and task parallel library exception;
  5. LocalDatetime 与 mybatis、json的坑
  6. 浏览器自动将参数中的url转码问题
  7. echarts-all.js:1 Uncaught TypeError: Cannot read property 'getAttribute' of null
  8. 支付宝支付之扫码支付(电脑网站支付)、H5支付(手机网站支付)相关业务流程分析总结
  9. P1879 [USACO06NOV]玉米田Corn Fields[轮廓线DP]
  10. Springboot项目全局异常统一处理