<?php
/*
* Created on 2011-5-11
* author 孤独求学人
*/
/* $filename 要查看的文件名字
* 获取文件上次访问时间
*/
function get_last_accesse_time($filename){
if(file_exists($filename)){
return date ("Y-m-d H:i:s.", fileatime($filename));
}
}
/*
* $filename 要查看的文件名字
* filectime 取得文件的 inode 修改时间,注意:在大多数 Unix 文件系统中,当一个文件的 inode
* 数据被改变时则该文件被认为是修改了。也就是说,当文件的权限,所有者,所有组或其它
* inode 中的元数据被更新时
*/
function file_ctime($filename){
if(file_exists($filename)){
return date ("Y-m-d H:i:s.", filectime($filename));
}
}
/*
* filemtime -- 取得文件修改时间
*/
function file_mtime($filename){
if(file_exists($filename)){
return date("Y-m-d H:i:s",filemtime($filename));
}
}
/*
* fileowner -- 取得文件的所有者,返回文件所有的用户 ID,如果出错则返回 FALSE
*/
function file_owner($filename){
if(file_exists($filename)){
return fileowner($filename);
clearstatcache();//清除缓存
}
}
/*
* fileperms -- 取得文件的权限
*/
function file_perms($filename){
if(file_exists($filename)){
$perms = fileperms($filename);
if (($perms & 0xC000) == 0xC000) {
// Socket
$info = 's';
} elseif (($perms & 0xA000) == 0xA000) {
// Symbolic Link
$info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {
// Regular
$info = '-';
} elseif (($perms & 0x6000) == 0x6000) {
// Block special
$info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {
// Directory
$info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {
// Character special
$info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {
// FIFO pipe
$info = 'p';
} else {
// Unknown
$info = 'u';
}
// Owner
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?(($perms & 0x0800) ? 's' : 'x' ) :(($perms & 0x0800) ? 'S' : '-'));
// Group
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?(($perms & 0x0400) ? 's' : 'x' ) :(($perms & 0x0400) ? 'S' : '-'));
// World
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?(($perms & 0x0200) ? 't' : 'x' ) :(($perms & 0x0200) ? 'T' : '-'));
}
return $info;
}
/*
* filesize -- 取得文件大小
*/
function file_size($filename){
if(file_exists($filename)){
return filesize($filename);
}
}
/*
* filetype -- 取得文件类型
*/
function file_type($filename){
if(file_exists($filename)){
return filetype($filename);
}
}
/*
* $filename 将要读取文件
* $method 读取方式
* $length 读取的长度
*/
function file_read($filename,$method,$length){
if(file_exists($filename)){
if(filesize($filename)){
$fp = fopen($filename,$method);
if($fp){
if($length <= filesize($filename)){
return $content = fread($fp,$length);
}
}
fclose($fp);
}
}
}
/*
* $filename 要写入的文件
* $content 待写入的数据
*/
function file_write($filename,$content){
if(file_exists($filename)){
if(is_writable($filename)){//判断是否可写
$fp = fopen($filename,'a');//打开文件
if($fp){
if(feof($fp)){//判断指针是否到达尾部
$new_file = fwrite($fp,$content);//写入文件
if(!$new_file){
return false;
}else{
return true;
}
}
}
fclose($fp);
}
}
}
?>