<?php //filetype() 获取文件的类型 //获取windows下的文件类型 echo filetype("D:\\lamp\\php5\\php.ini")."<br>"; //输出file 表示是一个普通文件 echo filetype("D:\\lamp\\php5")."<br>"; //输出dir 表示是一个目录 //is_file() 判断给定的文件名是否是一个普通文件 //is_dir() 判断给定的文件名是否是一个目录 //file_exists() 检查文件或目录是否存在 //filesize() 取得文件的大小 //is_readable() 判断给定文件名是否可读 //is_writable() 判断给定的文件名是否可写 //is_executable() 判断给定的文件名是否可执行 //filectime() 获取文件的创建时间 //filemtime() 获取文件的修改时间 //fileatime() 获取文件的访问时间 //stat() 获取文件的大部分属性值 //clearstatcache() 清楚被PHP缓存的该文件信息 /* *声明一个函数,通过传入一个文件名获取文件的大部分属性 **/ 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 "文件类型:".getFileType($fileName)."<br />"; echo "文件大小:".getFileSize(filesize($fileName))."<br />"; if(is_readable($fileName)){ //判断文件是否可读 echo "文件可读<br />"; } if(is_writable($fileName)){ //判断文件是否可写 echo "文件可写<br />"; } if(is_executable($fileName)){ //判断文件是否可执行 echo "文件可执行"; } 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 />"; } /* *声明一个函数,通过传入一个文件名获取文件的类型 */ function getFileType($fileName){ switch(filetype($fileName)){ case "file": $type = "普通文件"; break; case "dir": $type = "目录文件"; break; case "blokc": $type = "块设备文件"; break; case "char": $type = "字符设备文件"; break; case "fifo": $type = "命名管道文件"; break; case "link": $type = "符号链接"; break; case "unkonwn": $type = "未知类型"; break; default: $type = "没有检测到类型"; } return $type; } /* *声明一个函数,转换文件的大小 */ function getFileSize($bytes){ if($bytes >= pow(2,40)){ //如果提供的字节数大于等于2的40次方,则条件成立 $return = round($bytes/pow(1024,4),2); //将字节转换为同等的T的大小 $suffix = "TB"; }elseif($bytes >= pow(2,30)){ $return = round($bytes/pow(1024,3),2); //将字节转换为同等的G的大小 $suffix = "GB"; }elseif($bytes >= pow(2,20)){ $return = round($bytes/pow(1024,2),2); //将字节转换为同等的M的大小 $suffix = "MB"; }elseif($bytes >= pow(2,10)){ $return = round($bytes/pow(1024,1),2); //将字节转换为同等的K的大小 $suffix = "KB"; }else{ $return = $bytes; //将字节转换为同等的B的大小 $suffix = "B"; } return $return." ".$suffix; } getFilePro("D:\\lamp\\php5\\php.ini"); $filepro=stat("D:/lamp/php5/php.ini"); //返回文件的大部分属性 print_r($filepro); ?>