php获取路径、目录或文件名称,我们经常会使用到dirname()、basename()、pathinfo()这三个函数,本文章向大家详细介绍这三个函数的区别以及使用实例,需要的朋友可以参考一下。

dirname()函数

string dirname ( string $path )

php dirname函数获取给定文件路径中的目录部分,参数$path是一个文件路径的字符串

dirname()函数经常与魔术变量__FILE__一起使用,魔术变量__FILE__表示当前运行文件的完整路径和文件名。

dirname(dirname(__FILE__));得到的是文件上一层目录名

dirname(__FILE__);得到的是文件所在层目录名

如:

<?php
/* 作者:码农教程 网站地址: http://www.manongjc.com */
echo dirname("c:/testweb/home.php")."<br/>";
echo dirname("/testweb/home.php")."<br/><br/>"; echo __FILE__ ."<br/>";
echo dirname(__FILE__)."<br/>";
echo dirname(dirname(__FILE__));
?>

运行结果为:

c:/testweb
/testweb E:\wamp\www\test.php
E:\wamp\www
E:\wamp

basename()函数

string basename ( string $path [, string $suffix ] )

php basename()函数获取路径中的文件名部分,该函数与dirname()正好相反(dirname获取路径中的目录部分)。

第一个参数$path表示一个包含有指向一个文件的全路径的字符串,第二个参数表示如果文件名是以suffix结束的,那这一部分也会被去掉。
实例如下:

<?php
/* 作者:码农教程 http://www.manongjc.com/article/30.html */
var_dump(basename("/etc/sudoers.d", ".d"));
var_dump(basename("/etc/passwd"));
var_dump(basename("/etc/"));
var_dump(basename("."));
var_dump(basename("/"));
?>

运行结果:

string(7) "sudoers"
string(6) "passwd"
string(3) "etc"
string(1) "."
string(0) ""

pathinfo()函数

php pathinfo函数用于解析路径,将路径解析为一个数组,数组包括目录名、完整的文件名、文件扩展名和文件名(不包括文件后缀)四个值,并且这四个值的键名分别为dirname、basename、extension和filename,我们可以通过这四个键名来获取目录名、完整的文件名、文件扩展名和文件名的值。

语法:

mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )

参数:

  • path 要解析的路径。
  • options 如果指定了,将会返回指定元素;它们包括:PATHINFO_DIRNAME,PATHINFO_BASENAME 和 PATHINFO_EXTENSION 或 PATHINFO_FILENAME。 如果没有指定 options 默认是返回全部的单元。

实例:

<?
/* 作者:码农教程 http://www.manongjc.com/article/30.html */
$test = pathinfo("http://localhost/index.php");
print_r($test);
?>

结果如下

Array
(
[dirname] => http://localhost //url的路径
[basename] => index.php //完整文件名
[extension] => php //文件名后缀
[filename] => index //文件名
)

php路径目录解析函数dirname basename pathinfo区别及实例的更多相关文章

  1. 【php】php路径目录解析函数dirname basename pathinfo区别及实例

    php获取路径.目录或文件名称,我们经常会使用到dirname().basename().pathinfo()这三个函数,本文章向大家详细介绍这三个函数的区别以及使用实例,需要的朋友可以参考一下. d ...

  2. dirname basename 截取路径中的目录以及文件名

    dirname basename    截取路径中的目录以及文件名 windows 下面: #include "shlwapi.h"#pragma comment(lib, &qu ...

  3. PHP中关于 basename、dirname、pathinfo 详解

    basename(url)      返回路径中的文件名部分. dirname(url)       返回路径中的目录名称部分. pathinfo(url)      返回关于文件路径的信息. bas ...

  4. dirname, basename - 分析路径成员

    总览 (SYNOPSIS) #include <libgen.h> char *dirname(char *path); char *basename(char *path); 描述 (D ...

  5. 总结:man, info, hwclock, cal, type, which, dirname, basename, who, which, whatis, makewhatis, hash, tty

    man, info, help, date, hwclock, cal, shutdown, reboot, halt, poweroff, type, cd, which, dirname, bas ...

  6. linux 系统函数之 (dirname, basename)【转】

    转自:http://blog.csdn.net/peter_cloud/article/details/9308333 版权声明:本文为博主原创文章,未经博主允许不得转载. 除非你的原件考虑跨平台. ...

  7. 网站开发进阶(四十三)html中,路径前加“/” 与不加“/”的区别

    网站开发进阶(四十三)html中,路径前加"/" 与不加"/"的区别 前言 <script src="js/downloadify.js&quo ...

  8. vue中的项目目录assets和staitc的区别

    vue中的项目目录assets和staitc的区别 在进行发行正式版时,即为npm run build编译后, assets下的文件如(js.css)都会在dist文件夹下面的项目目录分别合并到一个文 ...

  9. /etc/bashrc,用户目录下.bashrc有什么区别?

    /etc/bashrc,用户目录下.bashrc有什么区别? 一个是针对整个系统所有用户的,一个是针对特定用户的./etc/bashrc修改了以后要重启系统才生效,而用户目录下.bashrc修改了以后 ...

随机推荐

  1. const 放在函数后

    const 放在函数后表示这个函数是常成员函数, 常成员函数是不能改变成员变量值的函数.const 限定符,它把一个对象转换成一个常量.举例:为了使成员函数的意义更加清楚,我们可在不改变对象的成员函数 ...

  2. excel 两列 找出相同的值

    excel 有A,B两列数值,要找出A,B两列中数值相同的值. 选中B列,格式——条件格式——公式  输入:=countif(A:A,B1)  在格式中可选择突出字体颜色 该函数的语法规则如下: co ...

  3. html、css、js注释

    HTML注释 <!--注释的内容--> CSS注释 /* 注释内容 */ JS注释 单行注释以 // 开头. 多行注释以 /* 开始,以 */ 结尾.

  4. JPush极光推送Java服务器端API

    // 对android和ios设备发送 JPushClient jpush = new JPushClient(masterSecret, appKey);   // 对android和ios设备发送 ...

  5. SEL方法选择器

    在Objective-C中,选择器(selector)有两个意思. 一是指在代码中的方法的名称.二是指在编译是用于替换方法名称的唯一的标识符.编译后的选择器的为SEL类型.所有名称相同的方法拥有同一个 ...

  6. python thread 多线程

    thread 模块在python3中改为_thread,网上的各种帖子都说不建议新手使用thread,好吃不好吃总得尝尝看. import _thread def print_num(): for i ...

  7. ✡ leetcode 158. Read N Characters Given Read4 II - Call multiple times 对一个文件多次调用read(157题的延伸题) --------- java

    The API: int read4(char *buf) reads 4 characters at a time from a file. The return value is the actu ...

  8. JavaBean用JSP调用和使用JSP动作标签的区别

    javabean的类可以用jsp动作标签实例化并使用. <!-- 下面这句是对Javabean类person的引用,引用的实例是p2 --> <jsp:useBean id=&quo ...

  9. CSS + DIV 让页脚始终保持在页面底部

    来源:David's Blog     http://www.DavidQiu.com/ 文章链接:http://blog.davidqiu.com/post/2013-06-17/400517539 ...

  10. docker swarm

    1.docker pull swarm 2.docker run --rm swarm create #创建cluster id b1442105f281c7eaa31f8e5d815fe0e2 3. ...