PHP的文件操作
<?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);
?>
</pre>