Welcome 微信登录

首页 / 网页编程 / PHP / php文件操作相关类实例

本文实例讲述了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程序设计有所帮助。