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


    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:wampwww	est.php
    E:wampwww
    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 //文件名
    )
    复制代码
  • 相关阅读:
    进程的经典同步问题
    数学余数在计算机的用途
    7.货仓选址 绝对值不等式
    6. 排队打水 排序不等式
    5.合并果子 Huffman树
    4.区间覆盖 区间问题
    3.区间分组 区间问题
    2.最大不相交区间数量 区间问题
    1.区间选点 区间问题
    26.拆分-Nim游戏 博弈论
  • 原文地址:https://www.cnblogs.com/xuzhengzong/p/8430045.html
Copyright © 2020-2023  润新知