返回介绍

8.10 文件路径函数

发布于 2025-01-30 22:11:34 字数 3049 浏览 0 评论 0 收藏 0

我们经常会遇到处理文件路径的情况。

例如:

  1. 文件后缀需要取出来
  2. 路径需要取出名字不取目录
  3. 只需要取出路径名中的目录路径
  4. 或者把网址中的各个部份进行解析取得独立值
  5. 甚至是自己组成一个 url 出来
    ... ....

很多地方都需要用路径处理类的函数。

我们把常用的路径处理函数为大家做了标注,大家对着这个路径处理函数进行处理即可:

函数名功能
pathinfo返回文件的各个组成部分
basename返回文件名
dirname文件目录部分
parse_url网址拆解成各部分
http_build_query生成 url 中的 query 字符串
http_build_url生成一个 url

pathinfo

array pathinfo ( string $路径)
功能:传入文件路径返回文件的各个组成部份

我们用具体的示例来用一下:

<?php
$path_parts = pathinfo('d:/www/index.inc.php');

echo '文件目录名:'.$path_parts['dirname']."<br />";
echo '文件全名:'.$path_parts['basename']."<br />";
echo '文件扩展名:'.$path_parts['extension']."<br />";
echo '不包含扩展的文件名:'.$path_parts['filename']."<br />"; 
?>

结果如下:

文件目录名:d:/www
文件全名:lib.inc.php
文件扩展名:php
不包含扩展的文件名:lib.inc

basename

string basename ( string $路径[, string $suffix ])
功能:传入路径返回文件名
第一个参数传入路径。
第二个参数,指定文件名到了指定字符停止。

<?php 

echo "1: ".basename("d:/www/index.d", ".d").PHP_EOL;
echo "2: ".basename("d:/www/index.php").PHP_EOL;
echo "3: ".basename("d:/www/passwd").PHP_EOL;

?>

执行结果如下

1: index
2: index.php
3: passwd

dirname

dirname(string $路径)
功能:返回文件路径的文件目录部分

<?php 
dirname(__FILE__); 
?> 

结论:你可以执行看看是不是返回了文件的目录部分。

parse_url

mixed parse_url ( string $路径 )
功能:将网址拆解成各个部分

<?php
$url = 'http://username:password@hostname:9090/path?arg=value#anchor';

var_dump(parse_url($url));

?>

结果如下:

array(8) {
["scheme"]=>
string(4) "http"
["host"]=>
string(8) "hostname"
["port"]=>
int(9090)
["user"]=>
string(8) "username"
["pass"]=>
string(8) "password"
["path"]=>
string(5) "/path"
["query"]=>
string(9) "arg=value"
["fragment"]=>
string(6) "anchor"
}

http_build_query

string http_build_query ( mixed $需要处理的数据)
功能:生成 url 中的 query 字符串

<?php
//定义一个关联数组
$data = [
  'username'=>'liwenkai',
  'area'=>'hubei'
   ];

//生成 query 内容
echo http_build_query($data);
?>

结果如下:

username=liwenkai&area=hubei

http_build_url()
功能: 生成一个 url

注:
PHP_EOL 常量
在 windows 平台相当于 echo "\r\n";
在 unix\linux 平台相当于 echo "\n";
在 mac 平台相当于 echo "\r";

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文