PHP路径操作类

Wesley13
• 阅读 600

PHP路径操作类,命名方式仿照C#的System.IO.Path类。

<?php
class Path{
    /**
     * 获取指定路径的目录部分
     * */
    public function GetDirectoryName($path){
        return pathinfo($path,PATHINFO_DIRNAME);
    }
    /**
     * 获取指定路径的文件名
     * */
    public static function GetFileName($path){
        return pathinfo($path,PATHINFO_FILENAME);
    }
    /**
     * 获取指定路径的文件名和扩展名
     * */
    public static function GetFileNameWithoutExtension($path){
        return pathinfo($path,PATHINFO_BASENAME);
    }
    /**
     * 获取指定路径的完整真实路径
     * */
    public static function GetFullPath($path){
        return realpath($path);
    }
    /**
     * 获取一个随机文件名
     * */
    public static function GetRandomFileName(){
        return md5(uniqid(uniqid(),true));
    }
    /**
     * 获取唯一临时文件名
     * */
    public static function GetTempFileName(){
        return tempnam(sys_get_temp_dir (),'');
    }
    /**
     * 获取临时目录
     * */
    public static function GetTempPath(){
        return sys_get_temp_dir();
    }
    /**
     * 判断是否存在扩展名
     * */
    public static function HasExtension($path){
        $extension = pathinfo($path,PATHINFO_EXTENSION );
        return empty($extension) === false;
    }
    /***
     * 合并数组中的文件路径
     * */
    public static function Combine(array $paths){
        $path = implode(DIRECTORY_SEPARATOR,array_values($paths));
        $extension = pathinfo($path,PATHINFO_EXTENSION );
        if(empty($extension) === false){
            $path = chop($path,DIRECTORY_SEPARATOR);
        }else{
            $path = $path . DIRECTORY_SEPARATOR;
        }
        return $path;
    }
    public function __toString(){
        return 'Path';
    }
}
?>
点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
PHP导入导出EXCELl,CSV
PHP导入导出Excel,CSVHTML<formaction"{:U('Admin/Unit/importcsv')}"method"post"name"myform"id"myform"enctype"multipart/formdata"<input
Stella981 Stella981
3年前
Discuz X3.2源码解析 discuz_application类(转自百度)
1.discuz\_application在/source/class/discuz/discuz\_application.php中。!DiscuzX3.2源码解析discuz_application类(https://oscimg.oschina.net/oscnet/99b35d79caf70b7c74ad0838d6
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Stella981 Stella981
3年前
PHP+jQuery寥寥几行代码轻松实现百度搜索那样的无刷新PJAX的分页列表和导航链接
!(https://static.oschina.net/uploads/space/2016/1208/171419_U00R_561214.png)PHP寥寥几行代码轻松实现百度搜索那样的分页列表和导航链接,某些语言的拥趸哭晕在厕所.<?php$apparray('db_prefix''
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这