php创建多级目录完整封装类操作
创建多级目录函数中调用创建指定下的指定文件的函数:
public function create_dir($dir,$mode=0777){return is_dir($dir) or ($this->create_dir(dirname($dir)) and mkdir($dir, $mode));}
创建指定路径下的指定文件,string $path(需要包含文件名和后缀),boolean $over_write 是否覆盖文件,int $time 设置时间。默认是当前系统时间,int $atime 设置访问时间。默认是当前系统时间。函数如下中调用了create_dir创建目录函数及删除unlink_file函数:
public function create_file($path,$over_write=FALSE,$time=NULL,$atime=NULL){$path = $this->dir_replace($path);$time = empty($time) ? time() : $time;$atime = empty($atime) ? time() : $atime;if(file_exists($path) && $over_write){$this->unlink_file($path);}$aimDir = dirname($path);$this->create_dir($aimDir);return touch($path,$time,$atime);}
删除非空目录函数,说明:只能删除非系统和特定权限的文件,否则会出现错误,string$dirName目录路径,boolean$is_all是否删除所有,boolean $del_dir 是否删除目录,函数如下:
public function remove_dir($dir_path,$is_all=FALSE){$dirName = $this->dir_replace($dir_path);$handle = @opendir($dirName);while (($file = @readdir($handle)) !== FALSE){if($file != '.' && $file != '..'){$dir = $dirName . '/' . $file;if($is_all){is_dir($dir) ? $this->remove_dir($dir) : $this->unlink_file($dir);}else {if(is_file($dir)){$this->unlink_file($dir);}}}}closedir($handle);return @rmdir($dirName);}
替换路径中//的字符相应的字符函数:
public function dir_replace($path){return str_replace('//','/',str_replace('\\','/',$path));}
/*** 指定文件编码转换* @param string $path 文件路径* @param string $input_code 原始编码* @param string $out_code 输出编码* @return boolean*/public function change_file_code($path,$input_code,$out_code){if(is_file($path))//检查文件是否存在,如果存在就执行转码,返回真 {$content = file_get_contents($path);$content = string::chang_code($content,$input_code,$out_code);$fp = fopen($path,'w');return fputs($fp,$content) ? TRUE : FALSE;fclose($fp);}}
/**
* 取得上传文件信息
* @param $file file属性信息
* @return array
*/
public function get_upload_file_info($file){$file_info = $_FILES[$file];//取得上传文件基本信息$info = array();$info['type'] = strtolower(trim(stripslashes(preg_replace("/^(.+?);.*$/", "\\1", $file_info['type'])), '"'));//取得文件类型$info['temp'] = $file_info['tmp_name'];//取得上传文件在服务器中临时保存目录$info['size'] = $file_info['size'];//取得上传文件大小$info['error'] = $file_info['error'];//取得文件上传错误$info['name'] = $file_info['name'];//取得上传文件名$info['ext'] = $this->get_ext($file_info['name']);//取得上传文件后缀return $info;}
/**
* 取得文件路径信息
* @param $full_path 完整路径
* @return ArrayObject
*/
public function get_file_type($path){//pathinfo() 函数以数组的形式返回文件路径的信息。//---------$file_info = pathinfo($path); echo file_info['extension'];----------////extension取得文件后缀名【pathinfo($path,PATHINFO_EXTENSION)】-----dirname取得文件路径【pathinfo($path,PATHINFO_DIRNAME)】-----basename取得文件完整文件名【pathinfo($path,PATHINFO_BASENAME)】-----filename取得文件名【pathinfo($path,PATHINFO_FILENAME)】return pathinfo($path);}
/**
* 返回指定文件和目录的信息
* @param string $file
* @return ArrayObject
*/
public function list_info($file){$dir = array();$dir['filename'] = basename($file);//返回路径中的文件名部分。$dir['pathname'] = realpath($file);//返回绝对路径名。$dir['owner'] = fileowner($file);//文件的 user ID (所有者)。$dir['perms'] = fileperms($file);//返回文件的 inode 编号。$dir['inode'] = fileinode($file);//返回文件的 inode 编号。$dir['group'] = filegroup($file);//返回文件的组 ID。$dir['path'] = dirname($file);//返回路径中的目录名称部分。$dir['atime'] = fileatime($file);//返回文件的上次访问时间。$dir['ctime'] = filectime($file);//返回文件的上次改变时间。$dir['perms'] = fileperms($file);//返回文件的权限。 $dir['size'] = filesize($file);//返回文件大小。$dir['type'] = filetype($file);//返回文件类型。$dir['ext'] = is_file($file) ? pathinfo($file,PATHINFO_EXTENSION) : '';//返回文件后缀名$dir['mtime'] = filemtime($file);//返回文件的上次修改时间。$dir['isDir'] = is_dir($file);//判断指定的文件名是否是一个目录。$dir['isFile'] = is_file($file);//判断指定文件是否为常规的文件。$dir['isLink'] = is_link($file);//判断指定的文件是否是连接。$dir['isReadable'] = is_readable($file);//判断文件是否可读。$dir['isWritable'] = is_writable($file);//判断文件是否可写。$dir['isUpload'] = is_uploaded_file($file);//判断文件是否是通过 HTTP POST 上传的。return $dir;}
完整封装代码内容有限,请到下面下载地址去下载:http://pan.baidu.com/s/1gf4AGoF
密码:iqun
转载于:https://www.cnblogs.com/sztx/p/9499770.html
php创建多级目录完整封装类操作相关推荐
- (47)fs创建多级目录
一.fs创建多级目录说明 fs.mkdir('./a/b/c') 这样写可以不可以呢? 答案:不可以. 多级目录的创建方式:一般使用递归的方式进行创建. 如何操作? 先创建./a 再创建./a/b 最 ...
- os模块创建多级目录
背景 python的os模块是可以动态创建目录的,但是很多人只了解单级目录的创建方法,其实os模块封装了完整的目录创建相关的方法. 创建单级目录 os.mkdir('./path') 创建多级目录 o ...
- php 从根目录 开始创建,php创建多级目录的方法
php创建多级目录的方法 本文实例讲述了php创建多级目录的方法.分享给大家供大家参考.具体实现方法如下: /* 写出一个能创建多级目录的PHP函数 */ function createdirlist ...
- php使用mkdir创建多级目录入门例子
来源:http://www.jb51.net/article/49970.htm <?php //echo "hello world"; //echo "y ...
- Linux mkdir 命令创建多级目录
前言 CentOS Linux release 8.2.2004 (Core) 创建多级目录 比如创建目录 /data/a/b/c shell> mkdir /data shell> mk ...
- PHP递归创建多级目录(一道面试题的解题过程)
今天看到一道面试题,要写出一个可以创建多级目录的函数: 我的第一个感觉就是用递归创建,具体思路如下: function Directory($dir){ if(is_dir($dir) || @mkd ...
- 【转】php利用mkdir创建多级目录
先介绍一下 mkdir() 这个函数: mkdir($path,0777,true); 第一个参数:必须,代表要创建的多级目录的路径: 第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访 ...
- php利用mkdir()创建多级目录
先介绍一下 mkdir() 这个函数: mkdir($path,0777,true); 第一个参数:必须,代表要创建的多级目录的路径: 第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访 ...
- qdir 自动创建多级目录_Qt 判断文件或文件夹是否存在及创建文件夹
1. 判断文件夹是不是存在 参数说明: QString fullPath;//文件夹全路径 /*方法1*/ bool isDirExist(QString fullPath) { QDir dir(f ...
最新文章
- python判断远程文件是否存在
- 解释与构造---无理数能级
- [Python人工智能] 十.Tensorflow+Opencv实现CNN自定义图像分类案例及与机器学习KNN图像分类算法对比
- 20165320 第九周学习总结
- bootstrap 合并菜单_Bootstrap与tab组合,切换菜单实例
- pythonbool类型数组生成_对numpy中布尔型数组的处理方法详解
- 【Spring】jpa数据库表实体命名规则 Unknown column ‘user0_.create_time‘ in ‘field list‘
- 大开眼界:Facebook做了一个会“开眼”的AI,拯救眨眼照片
- CSRF手工测试方法
- c语言函数可变长参数,一种使用变长参数为C程序构造灵活回调函数的方法
- 第一阶段个人总结04
- 代码生成工具系列-----代码生成工具(CodeEasy)介绍
- 设为首页 加入收藏 html,如何在网站上添加“设为首页”“加入收藏”
- SpringBoot框架下集成萤石云平台开发海康的摄像头
- 孕妇能吃哪些水果?三种水果帮你补充高营养
- 数析三剑客 numpy pandas matplotlib 基础操作
- 为什么L0正则化是一个NP难解问题?
- HTTP和RTSP简介
- numeric_limits的运用
- 分享我的2010年博客阅读列表
热门文章
- vue element ui 滚动条
- 实时目标检测--Pelee: A Real-Time Object Detection System on Mobile Devices
- 目标检测--Light-Head R-CNN: In Defense of Two-Stage Object Detector
- LeetCode 111. Minimum Depth of Binary Tree--Java, Python解法--二叉树最小高度--迭代,递归
- 字符串位加密 php,PHP字符串加密增强版
- unity不规则碰撞_Unity UGUI学习系列(二) ------ PolygonCollider2D实现不规则碰撞范围
- p40鸿蒙系统体验,苦心等待值了!华为P40成功运行鸿蒙OS,超级流畅
- java怎么将字符串反序输出_对String字符串进行反序输出
- spring中这些能升华代码的技巧,可能会让你爱不释手
- python在线编辑器最新_skulpt搭建Python在线编译器(一):下载、安装