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;
- }
- }
|