首页 > 开发 > PHP > 正文

php文件操作相关类实例

2024-05-04 22:36:31
字体:
来源:转载
供稿:网友

本文实例讲述了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);?>            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表