php创建多级目录完整封装类操作方法

创建多级目录函数调用创建指定下的指定文件函数

create_dir(dirname($dir)) and mkdir($dir,$mode)); }

创建指定路径下的指定文件,string 需要包含文件名和后缀path(需要包含文件名和后缀),booleanover_write 是否覆盖文件,int 设置时间。认是当前系统时间time设置时间。认是当前系统时间,intatime 设置访问时间。认是当前系统时间。函数如下中调用了create_dir创建目录函数删除unlink_file函数

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目录路径,booleanis_all是否删除所有,boolean $del_dir 是否删除目录,函数如下:

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

替换路径中//的字符相应的字符函数

rush:xhtml;"> public function dir_replace($path) { return str_replace('//','/',str_replace('\\',$path)); }
rush:xhtml;"> /** * 指定文件编码转换 * @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,$out_code); $fp = fopen($path,'w'); return fputs($fp,$content) ? TRUE : FALSE; fclose($fp); } }

/** * 取得上传文件信息 * @param $file file属性信息 * @return array */

get_ext($file_info['name']);//取得上传文件后缀 return $info; }

/** * 取得文件路径信息 * @param $full_path 完整路径 * @return ArrayObject */

rush:xhtml;"> 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 */

rush:xhtml;"> 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; }

以上这篇PHP创建多级目录完整封装类操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


服务器优化必备:深入了解PHP8底层开发原理
Golang的网络编程:如何快速构建高性能的网络应用?
Golang和其他编程语言的对比:为什么它的开发效率更高?
PHP8底层开发原理揭秘:如何利用新特性创建出色的Web应用
将字符重新排列以形成回文(如果可能)在C++中
掌握PHP8底层开发原理和新特性:创建高效可扩展的应用程序
服务器性能优化必学:掌握PHP8底层开发原理
PHP8新特性和底层开发原理详解:优化应用性能的终极指南
将 C/C++ 代码转换为汇编语言
深入研究PHP8底层开发原理:创建高效可扩展的应用程序
C++程序查找法向量和迹
PHP8底层开发原理实战指南:提升服务器效能
重排数组,使得当 i 为偶数时,arr[i] >= arr[j],当 i 为奇数时,arr[i] <= arr[j],其中 j < i,使用 C++ 语言实现
Golang的垃圾回收:为什么它可以减少开发人员的负担?
C++程序:将一个数组的所有元素复制到另一个数组中
Golang:构建智能系统的基石
为什么AI开发者应该关注Golang?
在C和C++中,逗号(comma)的用法是用来分隔表达式或语句
PHP8底层开发原理解析及新特性应用实例
利用PHP8底层开发原理解析新特性:如何构建出色的Web应用