php文件操作1

时间:2022-05-12 08:35:51

<?php

/* php文件属性处理函数

file_exists();检查文件或者目录是否存在,存在返回true 不存在返回false
filesize();获取文件的大小,返回文件的字节数
is_readable();判断给定的文件是否可读,文件如果可读则返回true
is_writable();判断给定的文件是否可写,文件可写则返回true
is_executable();判断给定的文件是否可执行,文件可执行返回true
filectime();获取文件创建的时间,返回已linux时间戳格式
filemtime();获取文件修改的时间,返回linux时间戳格式
fileatime();获取文件访问的时间,返回linux时间戳格式
stat();获取文件大部分的属性值,返回关于文件的信息数组 
is_file();判断是否是一个文件
is_dir();判断是否是一个目录*/

final class Filelist{

    public function getFilePro($fileName){
if(!file_exists($fileName)){
echo "目标文件不存在<br>";
return;
}
if(is_file($fileName)){
echo $fileName."是一个文件,不是目录<br>";
}
if(is_dir($fileName)){
echo $fileName."是一个目录,不是文件<br>";
}
echo "文件类型".self::getFiletype($fileName).'<br>';
echo "文件大小".self::getFilesize(filesize($fileName)).'<br>';
if(is_readable($fileName)){
   echo "文件可读<br>";
}
if(is_writable($fileName)){
   echo "文件可写<br>";
}
if(is_executable($fileName)){
   echo "文件可执行<br>";
}
echo "文件建立的时间".date('Y-m-d H:i:s',filectime($fileName)).'<br>';
echo "文件修改的时间".date('Y-m-d H:i:s',filemtime($fileName)).'<br>';
echo "文件最后打开的时间".date('Y-m-d H:i:s',fileatime($fileName)).'<br>';
$fileProArray = stat($fileName);
echo "<pre>";print_r($fileProArray);
}
final static private function getFiletype($fileName){
   switch(filetype($fileName)){
   case 'file' : $type = '普通文件'; break;
case 'dir' : $type = '目录文件'; break;
case 'block' : $type = '块设备文件'; break;
case 'char' : $type = '字符设备文件'; break;
case 'fifo' : $type = '命名管道文件'; break;
case 'link' : $type = '符号链接文件'; break;
case 'unknown' : $type = '不能识别的文件'; break;
default : $type ='没有检测到的文件类型';
}
return $type;
}
final static protected function getFilesize($size){
   if($size>=pow(2,40)){
   $result = round($size/pow(1024,4),2);
$suffix = 'TB';
}elseif($size>=pow(2,30)){
   $result = round($size/pow(1024,3),2);
$suffix = 'GB';
}elseif($size>=pow(2,20)){
   $result = round($size/pow(1024,2),2);
$suffix = 'MB';
}elseif($size>=pow(2,10)){
   $result = round($size/pow(1024,1),2);
$suffix = 'KB';
}else{
   $result = $size;
$suffix = 'Byte(字节)';
}
return $result.''.$suffix;
}
}
$list = new Filelist;
$list->getFilePro("array.php");
?>