千家信息网

php如何实现文件操作相关类

发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这篇文章将为大家详细讲解有关php如何实现文件操作相关类,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:
千家信息网最后更新 2025年02月23日php如何实现文件操作相关类

这篇文章将为大家详细讲解有关php如何实现文件操作相关类,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

具体如下:

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如何实现文件操作相关类"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0