PHP的文件操作

来源:互联网 发布:周弘 赏识教育 知乎 编辑:程序博客网 时间:2024/05/21 19:34
<?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);
?>
原创粉丝点击