文件都有相应的属性,文件大小、文件类型、修改时间、创建时间、读写权限等。
php提供获取这些属性的函数。
file_exists() 检查指定的文件和目录是否存在。
filesize() 获取文件的大小,单位是B(字节)。
is_readable() 检查文件是否可读。
is_writable() 检查文件是否可写。
is_executable() 检查文件是否可执行
filectime() 获取文件的创建时间,返回Unix时间戳。
filemtime() 获取文件的最后修改时间,返回Unix时间戳。
fileatime() 获取文件的最后访问时间,返回Unix时间戳。
stat() 获取文件的大部分属性,返回一个数组。
如下代码:
/**
* @author youthflies
* 获取文件的属性
*/
$fileName = "/home/youthflies/downloads/jdk-6u37-linux-i586.bin";
if(!file_exists($fileName))
{
echo "File do not exists!";
return;
}
echo "File size : " . filesize($fileName) . "
";
echo "File read : " . is_readable($fileName) . "
";
echo "File write : " . is_writable($fileName) . "
";
echo "File execute : " . is_executable($fileName) . "
";
echo "File created time : " . date("Y-m-d h:i:s", filectime($fileName)) . "
";
echo "File modified time : " . date("Y-m-d h:i:s", filemtime($fileName)) . "
";
echo "File acess time : " . date("Y-m-d h:i:s", fileatime($fileName)) . "
";
echo "File properties : ";
print_r(stat($fileName));
?>
上面文件运行结果:
File size : 71764073
File read : 1
File write : 1
File execute : 1
File created time : 2012-11-28 02:20:19
File modified time : 2012-11-27 02:13:01
File acess time : 2012-11-27 02:15:22
File properties : Array( [0] => 2055 [1] => 2228791 [2] => 33279 [3] => 1 [4] => 1000 [5] => 1000 [6] => 0 [7] => 71764073 [8] => 1353996922 [9] => 1353996781 [10] => 1354083619 [11] => 4096 [12] => 140168 [dev] => 2055 [ino] => 2228791 [mode] => 33279 [nlink] => 1 [uid] => 1000 [gid] => 1000 [rdev] => 0 [size] => 71764073 [atime] => 1353996922 [mtime] => 1353996781 [ctime] => 1354083619 [blksize] => 4096 [blocks] => 140168)