首页 > 开发 > PHP > 正文

php文件操作相关类实例

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

这篇文章主要介绍了php文件操作相关类,实例分析了php针对文件与目录的创建、删除、复制、检查等操作技巧,需要的朋友可以参考下

本文实例讲述了php文件操作相关类。分享给大家供大家参考。具体如下:

 

 
  1. <?php 
  2. class file_dir 
  3. function check_exist($filename
  4. //检查目录或文件是否存在 
  5. if(file_exists($filename)) 
  6. return true; 
  7. else return false; 
  8. function create_dir($dirname,$mode=0777) 
  9. // 一次只能创建一级目录 
  10. if(is_null($dirname) || $dirname==""return false; 
  11. if(!is_dir($dirname)) 
  12. return mkdir($dirname,$mode); 
  13. function createDir($aimUrl//可同时创建多级目录 
  14. $aimUrl = str_replace('//', '/', $aimUrl); 
  15. $aimDir = ''
  16. $arr = explode('/'$aimUrl); 
  17. foreach ($arr as $str
  18. $aimDir .= $str . '/'
  19. if (!file_exists($aimDir)) 
  20. mkdir($aimDir); 
  21. function delete_dir($dirname//删除目录 
  22. if($this->check_exist($dirnameand is_dir($dirname)) 
  23. if(!$dirhandle=opendir($dirname)) return false; 
  24. while(($file=readdir($dirhandle))!==false) 
  25. if($file=="." or $file==".."continue
  26. $file=$dirname.DIRECTORY_SEPARATOR.$file
  27. //表示$file是$dir的子目录 
  28. if(is_dir($file)) 
  29. $this->delete_dir($file); 
  30. else 
  31. unlink($file); 
  32. closedir($dirhandle); 
  33. return rmdir($dirname); 
  34. else return false; 
  35. function copy_dir($dirfrom,$dirto//复制目录 
  36. if(!is_dir($dirfrom)) return false; 
  37. if(!is_dir($dirto)) mkdir($dirto); 
  38. $dirhandle=opendir($dirfrom); 
  39. if($dirhandle
  40. while(false!==($file=readdir($dirhandle))) 
  41. if($file=="." or $file==".."continue
  42. $filefrom=$dirfrom.DIRECTORY_SEPARATOR.$file
  43. //表示$file是$dir的子目录 
  44. $fileto=$dirto.DIRECTORY_SEPARATOR.$file
  45. if(is_dir($filefrom)) 
  46. $this->copy_dir($filefrom,$fileto); 
  47. else 
  48. if(!file_exists($fileto)) 
  49. copy($filefrom,$fileto); 
  50. closedir($dirhandle); 
  51. function getdir_size($dirname//获取目录大小 
  52. if(!file_exists($dirnameor !is_dir($dirname)) return false; 
  53. if(!$handle=opendir($dirname)) return false; 
  54. $size=0; 
  55. while(false!==($file=readdir($handle))) 
  56. if($file=="." or $file==".."continue
  57. $file=$dirname."/".$file
  58. if(is_dir($file)) 
  59. $size+=$this->getdir_size($file); 
  60. else 
  61. $size+=filesize($file); 
  62. closedir($handle); 
  63. return $size
  64. function getReal_size($size// 单位自动转换函数 
  65. $kb=1024; 
  66. $mb=$kb*1024; 
  67. $gb=$mb*1024; 
  68. $tb=$gb*1024; 
  69. if($size<$kbreturn $size."B"
  70. if($size>=$kb and $size<$mbreturn round($size/$kb,2)."KB"
  71. if($size>=$mb and $size<$gbreturn round($size/$mb,2)."MB"
  72. if($size>=$gb and $size<$tbreturn round($size/$gb,2)."GB"
  73. if($size>=$tbreturn round($size/$tb,2)."TB"
  74. function copy_file($srcfile,$dstfile
  75. if(is_file($srcfile)) 
  76. if(!file_exists($dstfile)) 
  77. return copy($srcfile,$dstfile); 
  78. else return false; 
  79. function unlink_file($filename//删除文件 
  80. if($this->check_exist($filenameand is_file($filename)) 
  81. return unlink($filename); 
  82. else return false; 
  83. function getsuffix($filename
  84. //获取文件名后缀 
  85. if(file_exists($filenameand is_file($filename)) 
  86. return end(explode(".",$filename)); 
  87. function input_content($filename,$str
  88. //将字符串写入文件 
  89. if(function_exists(file_put_contents)) 
  90. file_put_contents($filename,$str); 
  91. else 
  92. $fp=fopen($filename,"wb"); 
  93. fwrite($fp,$str); 
  94. fclose($fp); 
  95. function output_content($filename
  96. //将整个文件内容读出到一个字符串中 
  97. if(function_exists(file_get_contents)) 
  98. return file_get_contents($filename); 
  99. else 
  100. $fp=fopen($filename,"rb"); 
  101. $str=fread($fp,filesize($filename)); 
  102. fclose($fp); 
  103. return $str
  104. function output_to_array($filename
  105. //将文件内容读出到一个数组中 
  106. $file=file($filename); 
  107. $arr=array(); 
  108. foreach($file as $value
  109. $arr[]=trim($value); 
  110. return $arr
  111. //$dir=new file_dir; 
  112. //$size=$dir->getdir_size("F:/wamp/www/class/images"); 
  113. //echo $dir->getReal_size($size); 
  114. ?> 

希望本文所述对大家的php程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表