php文件操作相关类实例
2015-06-18 00:00
861 查看
本文实例讲述了php文件操作相关类。分享给大家供大家参考。具体如下:
<?php class file_dir { function check_exist($filename) //检查目录或文件是否存在 { if(file_exists($filename)) { return true; } else return false; } function create_dir($dirname,$mode=0777) // 一次只能创建一级目录 { if(is_null($dirname) || $dirname=="") return false; if(!is_dir($dirname)) { return mkdir($dirname,$mode); } } function createDir($aimUrl) //可同时创建多级目录 { $aimUrl = str_replace('\\', '/', $aimUrl); $aimDir = ''; $arr = explode('/', $aimUrl); foreach ($arr as $str) { $aimDir .= $str . '/'; if (!file_exists($aimDir)) { mkdir($aimDir); } } } function delete_dir($dirname) //删除目录 { if($this->check_exist($dirname) and is_dir($dirname)) { if(!$dirhandle=opendir($dirname)) return false; while(($file=readdir($dirhandle))!==false) { if($file=="." or $file=="..") continue; $file=$dirname.DIRECTORY_SEPARATOR.$file; //表示$file是$dir的子目录 if(is_dir($file)) { $this->delete_dir($file); } else { unlink($file); } } closedir($dirhandle); return rmdir($dirname); } else return false; } function copy_dir($dirfrom,$dirto) //复制目录 { if(!is_dir($dirfrom)) return false; if(!is_dir($dirto)) mkdir($dirto); $dirhandle=opendir($dirfrom); if($dirhandle) { while(false!==($file=readdir($dirhandle))) { if($file=="." or $file=="..") continue; $filefrom=$dirfrom.DIRECTORY_SEPARATOR.$file; //表示$file是$dir的子目录 $fileto=$dirto.DIRECTORY_SEPARATOR.$file; if(is_dir($filefrom)) { $this->copy_dir($filefrom,$fileto); } else { if(!file_exists($fileto)) copy($filefrom,$fileto); } } } closedir($dirhandle); } function getdir_size($dirname) //获取目录大小 { if(!file_exists($dirname) or !is_dir($dirname)) return false; if(!$handle=opendir($dirname)) return false; $size=0; while(false!==($file=readdir($handle))) { if($file=="." or $file=="..") continue; $file=$dirname."/".$file; if(is_dir($file)) { $size+=$this->getdir_size($file); } else { $size+=filesize($file); } } closedir($handle); return $size; } function getReal_size($size) // 单位自动转换函数 { $kb=1024; $mb=$kb*1024; $gb=$mb*1024; $tb=$gb*1024; if($size<$kb) return $size."B"; if($size>=$kb and $size<$mb) return round($size/$kb,2)."KB"; if($size>=$mb and $size<$gb) return round($size/$mb,2)."MB"; if($size>=$gb and $size<$tb) return round($size/$gb,2)."GB"; if($size>=$tb) return round($size/$tb,2)."TB"; } function copy_file($srcfile,$dstfile) { if(is_file($srcfile)) { if(!file_exists($dstfile)) return copy($srcfile,$dstfile); } else return false; } function unlink_file($filename) //删除文件 { if($this->check_exist($filename) and is_file($filename)) { return unlink($filename); } else return false; } function getsuffix($filename) //获取文件名后缀 { if(file_exists($filename) and is_file($filename)) { return end(explode(".",$filename)); } } function input_content($filename,$str) //将字符串写入文件 { if(function_exists(file_put_contents)) { file_put_contents($filename,$str); } else { $fp=fopen($filename,"wb"); fwrite($fp,$str); fclose($fp); } } function output_content($filename) //将整个文件内容读出到一个字符串中 { if(function_exists(file_get_contents)) { return file_get_contents($filename); } else { $fp=fopen($filename,"rb"); $str=fread($fp,filesize($filename)); fclose($fp); return $str; } } function output_to_array($filename) //将文件内容读出到一个数组中 { $file=file($filename); $arr=array(); foreach($file as $value) { $arr[]=trim($value); } return $arr; } } //$dir=new file_dir; //$size=$dir->getdir_size("F:/wamp/www/class/images"); //echo $dir->getReal_size($size); ?>
希望本文所述对大家的php程序设计有所帮助。
相关文章推荐
- php实现比较全的数据库操作类
- php实现的简单检验登陆类
- php实现的验证码文件类实例
- php实现的日历程序
- php实现转换ubb代码的方法
- php判断两个日期之间相差多少个月份的方法
- php实现比较两个文件夹异同的方法
- PHP VLD扩展查看opcode
- Yii2-admin RBAC权限管理的实现
- php 什么是常量?
- PHPExcel IE导出乱码问题
- 基于MFC的FTP客户端
- PhpMyAdmin导入数据时提示文件大小超出PHP限制的解决方法
- PHP接收GET和POST请求
- PHP PDO select语句结果行数计算
- Zend framework2 - 在视图助手中设置元素样式,对所有元素,如multiCheckbox或错误信息加上自定义样式
- PHP:PDOStatement::rowCount()方法参数说明
- php的事件处理机制(回调函数)
- 基础学习总结(五)---baseAdapter、ContentProvider
- 中国大概可用NTPserver地址