ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
我们经常会遇到处理文件路径的情况。 例如: 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";