文件操作函数:文件的属性
2017-03-04 16:21
288 查看
<?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 "文件可执行<br/>";
}
echo "文件建立时间:".date('Y 年 m 月 d 日',filectime($filename))."<br/>";
echo "文件最后更动时间:".date('Y 年 m 月 d 日',filemtime($filename))."<br/>";
echo "文件最后打开时间:".date('Y 年 m 月 d 日',fileatime($filename))."<br/>";
}
// 返回文件类型
function getFileType($filename){
$type='';
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 'unknow':
$type.='未知类型';
default:
$type.='没有检测到的类型';
}
return $type;
}
// 文件大小单位转换函数
function getFileSize($bytes){
if($bytes>=pow(2,40)){ // pow(x,y)返回x的y次方
// 将字节转换为同等的TB大小
$return=round($bytes/pow(1024,4),2);
$suffix="TB"; // 记录单位
}elseif($bytes>=pow(2,30)){
// 将字节转换为同等的GB大小
$return=round($bytes/pow(1024,3),2);
$suffix="GB"; // 记录单位
}elseif($bytes>=pow(2,20)){
// 将字节转换为同等的MB大小
$return=round($bytes/pow(1024,2),2);
$suffix="MB"; // 记录单位
}elseif($bytes>=pow(2,10)){
// 将字节转换为同等的KB大小
$return=round($bytes/pow(1024,1),2);
$suffix="KB"; // 记录单位
}else{
$return=$bytes;
$suffix="Byte";
}
return $return."".$suffix;
}
// 输出文件信息
getFilePro("./demo2.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 "文件可执行<br/>";
}
echo "文件建立时间:".date('Y 年 m 月 d 日',filectime($filename))."<br/>";
echo "文件最后更动时间:".date('Y 年 m 月 d 日',filemtime($filename))."<br/>";
echo "文件最后打开时间:".date('Y 年 m 月 d 日',fileatime($filename))."<br/>";
}
// 返回文件类型
function getFileType($filename){
$type='';
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 'unknow':
$type.='未知类型';
default:
$type.='没有检测到的类型';
}
return $type;
}
// 文件大小单位转换函数
function getFileSize($bytes){
if($bytes>=pow(2,40)){ // pow(x,y)返回x的y次方
// 将字节转换为同等的TB大小
$return=round($bytes/pow(1024,4),2);
$suffix="TB"; // 记录单位
}elseif($bytes>=pow(2,30)){
// 将字节转换为同等的GB大小
$return=round($bytes/pow(1024,3),2);
$suffix="GB"; // 记录单位
}elseif($bytes>=pow(2,20)){
// 将字节转换为同等的MB大小
$return=round($bytes/pow(1024,2),2);
$suffix="MB"; // 记录单位
}elseif($bytes>=pow(2,10)){
// 将字节转换为同等的KB大小
$return=round($bytes/pow(1024,1),2);
$suffix="KB"; // 记录单位
}else{
$return=$bytes;
$suffix="Byte";
}
return $return."".$suffix;
}
// 输出文件信息
getFilePro("./demo2.php");
相关文章推荐
- Linux文件系统文件属性及目录操作函数
- Perl-19---文件属性操作函数
- [Linux文件属性]使用utime函数操作文件的时间参数
- 获取文件的属性信息及其操作函数
- linux 文件操作函数 通过例子来解释 父子间文件描述符共享 内存映像图
- 标准文件操作函数(转载)
- 基于php常用函数总结(数组,字符串,时间,文件操作)
- Linux C 函数参考(文件内容操作)
- FSO操作文件的几个小函数(转)
- (转)java中对于文件属性的一些操作
- 一个非常非常非常基础的程序,写的不好,但是一般的文件读写操作及字符处理函数都涉及到了..新手学习用的
- c语言写的*.dbf文件的操作函数库
- C语言中关于文件操作的常用函数
- Windows API 函数学习(7)---文件操作示例
- 关于文件路径操作的2个函数
- Windows API 函数学习(6)---文件操作
- Delphi中的操作二进制文件的两个重要函数
- 部分文件操作函数
- 文件操作 API 函数介绍
- Windows API 函数学习(7)---文件操作示例