php快速分解路径截取路径

两个函数:parse_url()和pathinfo()

mixed parse_url( string $url[, int $component = -1] )
mixed pathinfo( string $path[, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME] )

1.url路径分解:

parse_url('http://192.168.0.100:94/info/student/level_test_report/2019_03_06_5c7f1cde6a4ff.jpg');
parse_url('http://192.168.0.100:94/info/student/level_test_report/2019_03_06_5c7f1cde6a4ff.jpg', PHP_URL_PATH);

可选参数:

url
要解析的 URL。无效字符将使用 _ 来替换。
component
指定 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 中指定的部分的 string。 (除了指定为 PHP_URL_PORT 后,将返回一个 integer 的值)。

array:4 [
  "scheme" => "http"
  "host" => "192.168.0.100"
  "port" => 94
  "path" => "/info/student/level_test_report/2019_03_06_5c7f1cde6a4ff.jpg"
]

"/info/student/level_test_report/2019_03_06_5c7f1cde6a4ff.jpg"


2.文件路径分解

pathinfo('/info/student/level_test_report/2019_03_06_5c7f1cde6a4ff.jpg')

可选参数:

path
要解析的路径。
options
如果指定了,将会返回指定元素;它们包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和 PATHINFO_EXTENSION 或 PATHINFO_FILENAME。

如果没有指定 options 默认是返回全部的单元。

array:4 [  
  "dirname" => "/info/student/level_test_report"
  "basename" => "2019_03_06_5c7f1cde6a4ff.jpg" 
  "extension" => "jpg"
  "filename" => "2019_03_06_5c7f1cde6a4ff"
  ]
相关函数:

parse_str($str);
pathinfo() - 返回文件路径的信息
parse_str() - 将字符串解析成多个变量,分配到当前作用域;
http_build_query() - 生成 URL-encode 之后的请求字符串
http_build_url()
dirname() - 返回路径中的目录部分,结果与pathinfo($str,PATHINFO_DIRNAME)一致;
basename() - 返回路径中的文件名部分,结果与pathinfo($str,PATHINFO_BASENAME)一致;

$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz

parse_str($str, $output);
echo $output['first'];  // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SHUIPING_YANG

你的鼓励是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值