| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | <?php/** * Created by PhpStorm. * User: Administrator * Date: 2022/8/10 * Time: 19:31 */namespace file;class PathHelper{    /**     * 提取路径中的文件名(包含后缀)     */    public static function getFilename($path)    {        return pathinfo($path)['basename'];    }    /**     * 提取文件后缀     * @param $path [文件路径、url]     * @return mixed     */    public static function getExt($path)    {        return pathinfo($path)['extension']; // 如果有参数会得到这样html?xxxx    }    /**     * 提取路径中的目录路径     */    public static function getDir($path)    {        // 测试结果,短的路径,获取的结果不能用于拼接路径使用//      /dcyy/          =  \//      /dcyy           =  \//      ./dcyy          =  .//      bbbb            =  .//      /aaaa/bbbb      =  /aaaa//      /aaaa/bbbb/cc   =  /aaaa/bbbb//      ./aaaa/bbbb/cc  =  ./aaaa/bbbb//      ../aaaa/bbbb/cc =  ../aaaa/bbbb//C:/Windows/System32/etc    = C:/Windows/System32//http://my.com/post/20.html = http://my.com/post        return dirname($path);//pathinfo($path)['dirname']    }    /**     * 提取父目录路径     */    public static function getParentDir($path, $separator = DS)    {        $path = deleteEndDS($path, $separator);        $res = explode($separator, $path);        if (is_array($res)) {            $end = end($res);            //去除最后一个节点,使用preg_replace替换最后一个匹配到的            $endres = preg_replace("~$end(?!.*$end)~", '', $path);            return $separator == $endres ? $endres : deleteEndDS($endres, $separator);        }        return $res;    }}
 |