PHP文件类
php文件类
1 <?php 2 class file { 3 private $path;//文件路径 4 5 function __construct($filepath){ 6 $this->path=$filepath; 7 } 8 9 //文件路径信息 10 function filePath($type){ 11 $pathinfo=pathinfo($this->path); 12 switch($type){ 13 case "dirname": 14 return $pathinfo[‘dirname‘]; 15 break; 16 case "basename": 17 return $pathinfo[‘basename‘]; 18 break; 19 case "extension": 20 return $pathinfo[‘extension‘]; 21 break; 22 case "filename": 23 return $pathinfo[‘filename‘]; 24 break; 25 } 26 } 27 28 //文件绝对路径 29 function realPath(){ 30 return realpath($this->path); 31 } 32 33 //文件大小 34 function fileSize(){ 35 return round(filesize($this->path)/1024,2)."KB"; 36 } 37 38 //磁盘空间大小 39 function diskSize($type){ 40 switch($type){ 41 case "free": 42 return round(disk_free_space($this->filePath(‘dirname‘))/(1024*1024*1024),2)."GB"; 43 break; 44 case "total": 45 return round(disk_total_space($this->filePath(‘dirname‘))/(1024*1024*1024),2)."GB"; 46 break; 47 } 48 } 49 50 //目录大小 51 function dirSize($directory){ 52 $dirSize=0; 53 if($dh=@opendir($directory)){ 54 while($filename=readdir($dh)){ 55 if($filename!=‘.‘&&$filename!=‘..‘){ 56 if(is_file($directory.‘/‘.$filename)){ 57 $dirSize+=filesize($directory.‘/‘.$filename); 58 } 59 if(is_dir($directory.‘/‘.$filename)){ 60 $dirSize+=$this->dirSize($directory.‘/‘.$filename); 61 } 62 } 63 } 64 @closedir($dh); 65 } 66 return round(($dirSize/1024),2).‘KB‘; 67 } 68 69 //文件时间信息 70 function fileTimeInfo($type){ 71 switch($type){ 72 case "access": 73 return date(‘Y-m-d H:i:s‘,fileatime($this->path)); 74 break; 75 case "change": 76 return date(‘Y-m-d H:i:s‘,filectime($this->path)); 77 break; 78 case "modify": 79 return date(‘Y-m-d H:i:s‘,filemtime($this->path)); 80 break; 81 } 82 } 83 84 //读取文件 85 function rfile(){ 86 $file=file($this->path); 87 foreach($file as $content){ 88 echo $content.‘<br>‘; 89 } 90 } 91 92 //写文件 93 function wfile($content){ 94 $fh=fopen($this->path,‘a‘); 95 fwrite($fh,$content); 96 fclose($fh); 97 } 98 } 99 ?>
对文件类的引用
1 <?php 2 require_once(‘file.class.php‘); 3 4 $filepath=‘f:/php file/file.txt‘; 5 $file = new file($filepath); 6 7 //文件的路径信息 8 echo ‘文件的路径信息<br>‘; 9 echo ‘目录名: ‘.$file->filePath(‘dirname‘).‘<br>‘; 10 echo ‘基本名: ‘.$file->filePath(‘basename‘).‘<br>‘; 11 echo ‘文件名: ‘.$file->filePath(‘filename‘).‘<br>‘; 12 echo ‘扩展名: ‘.$file->filePath(‘extension‘).‘<br>‘; 13 14 //文件的绝对路径 15 echo ‘文件的绝对路径: ‘.$file->realPath().‘<br>‘; 16 17 //文件大小 18 echo ‘文件大小: ‘.$file->fileSize().‘<br>‘; 19 20 //磁盘空间大小 21 echo ‘所在磁盘的总空间大小: ‘.$file->diskSize(‘total‘).‘<br>‘; 22 echo ‘所在磁盘的可用空间大小: ‘.$file->diskSize(‘free‘).‘<br>‘; 23 24 //目录大小 25 echo ‘目录大小: ‘.$file->dirSize($file->filePath(‘dirname‘)).‘<br>‘; 26 27 //文件时间信息 28 echo ‘文件最后访问时间: ‘.$file->fileTimeInfo(‘access‘).‘<br>‘; 29 echo ‘文件最后改变时间: ‘.$file->fileTimeInfo(‘change‘).‘<br>‘; 30 echo ‘文件最后更改时间: ‘.$file->fileTimeInfo(‘modify‘).‘<br>‘; 31 32 //读取文件 33 $file->rfile(); 34 35 //写入文件 36 $content="hello world"; 37 $file->wfile($content); 38 ?>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。