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 ?>

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。