在先前的文章中為大家帶來了《PHP中如何複製、刪除、重新命名檔案、建立一個暫存檔案? 》,其中詳細的介紹了在PHP中應該怎樣去對文件進行一個基礎的操作,本篇文章繼續給大家帶來PHP中如何獲取和檢測文件的屬性,希望對大家有幫助!
當我們日常操作中,經常會與文件打交道,拿著時候我們可能就會需要知道這些文件的一些常用屬性,比如文件的大小、類型、是否可讀等等的屬性。那在PHP中應該要怎麼去得到這些屬性呢?
在PHP中內建了非常全面的函數用來取得這些屬性,那接下來我們就來看看這些常用的屬性應該怎麼去獲取吧。
<strong><span style="font-size: 20px;">file_exists()</span></strong>
# 用來檢查檔案或目錄是否有
# 檔案存在回傳TRUE,不存在則回傳FALSE ,它的語法格式如下:
file_exists(string $filename)
範例如下:
首先我們先建立了一個test.txt檔案
然後我們透過一個if語句來判斷檔案是否存在:
<?php if(file_exists('test.txt')){ echo '文件存在'; exit; } ?>
輸出結果:
<strong>##filesize()<span style="font-size: 20px;"></span></strong>
用來取得檔案大小
filesize(string $filename)範例如下:
<?php $a = 'test.txt'; echo $a.' 文件大小是:'.filesize($a).' 个字节<br>'; ?>輸出結果:
<strong><span style="font-size: 20px;"></span></strong>
#由結果可以看出,透過filesize()函數,傳回檔案位元組數用於取得檔案大小
#is_readable()
用來判斷給定檔案名稱是否可讀
如果檔案存在且可讀則傳回TRUE,否則傳回FALSE ,它的語法格式如下:
is_readable(string $filename)
範例如下:<pre class="brush:php;toolbar:false"><?php
$a = &#39;test.txt&#39;;
if(is_readable($a)){//判断文件是否可读
echo $a.&#39; 文件是可读的。<br>&#39;;
}else{
echo $a.&#39; 文件是不可读的。<br>&#39;;
}
?></pre><strong>輸出結果:<span style="font-size: 20px;"></span></strong>
由上述結果可以看出,透過is_readable() 函數判斷,如果檔案切可讀返回TRUE,否則返回FALSE,來判斷檔案是否可讀。
is_writable()
# 用來判斷給定檔名是否可寫入
如果檔案存在且可讀寫則傳回TRUE,否則傳回FALSE,它的語法格式如下:
is_writable(string $filename)
範例如下:
<?php $a = 'test.txt'; if(is_writable($a)){//判断文件是否可写 echo $a.' 文件是可写的。<br>'; }else{ echo $a.' 文件是不可写的。<br>'; } ?>
輸出結果:<strong><span style="font-size: 20px;"></span></strong>
由上述結果可以看出,透過is_writable()函數如果檔案存在且可讀寫則傳回TRUE,否則傳回FALSE,由此判斷檔案是否可寫。
is_executable()
# 用來判斷給定檔名是否可執行
如果檔案存在且可執行則傳回TRUE,否則傳回FALSE,它的語法格式如下:
is_executable(string $filename)
範例如下:
<?php $a = 'test.txt'; if(is_executable($a)){//判断文件是否可执行 echo $a.' 文件是可执行的。<br>'; }else{ echo $a.' 文件是不可执行的。<br>'; } ?>
輸出結果:<strong><span style="font-size: 20px;"></span></strong>
由上述結果可以看出,透過is_executable()函數如果檔案存在且可執行則傳回TRUE,否則傳回FALSE,判斷檔案是否可執行。
filectime()<strong><span style="font-size: 20px;"></span></strong># 用來取得檔案的建立時間、
<strong><span style="font-size: 20px;"></span></strong>
#filemtime()<strong><span style="font-size: 20px;"></span></strong> 用來取得檔案的修改時間、
fileatime()
用於取得檔案的最後一個存取時間
filectime(string $filename) filemtime(string $filename) fileatime(string $filename)###範例如下:######
<?php $a = 'test.txt'; //获取文件创建时间 echo '文件的创建时间是:'.date('Y-m-d H:i:s',filectime($a)).'。<br>'; //获取文件修改时间 echo '文件的修改时间是:'.date('Y-m-d H:i:s',filemtime($a)).'。<br>'; //获取文件的上次访问时间 echo '文件上次的访问时间是:'.date('Y-m-d H:i:s',fileatime($a)).'。<br>'; ?>###輸出結果:######
那接下来我们把这些函数结合起来就能够得到如下结果:
<?php $a = 'test.txt'; //判断文件是否存在 file_exists($a) or die('文件不存在,程序退出!'); //获取文件大小 echo $a.' 文件大小是:'.filesize($a).' 个字节<br>'; if(is_readable($a)){//判断文件是否可读 echo $a.' 文件是可读的。<br>'; }else{ echo $a.' 文件是不可读的。<br>'; } if(is_writable($a)){//判断文件是否可写 echo $a.' 文件是可写的。<br>'; }else{ echo $a.' 文件是不可写的。<br>'; } if(is_executable($a)){//判断文件是否可执行 echo $a.' 文件是可执行的。<br>'; }else{ echo $a.' 文件是不可执行的。<br>'; } //获取文件创建时间 echo '文件的创建时间是:'.date('Y-m-d H:i:s',filectime($a)).'。<br>'; //获取文件修改时间 echo '文件的修改时间是:'.date('Y-m-d H:i:s',filemtime($a)).'。<br>'; //获取文件的上次访问时间 echo '文件上次的访问时间是:'.date('Y-m-d H:i:s',fileatime($a)).'。<br>'; ?>
输出结果:
推荐学习:《PHP视频教程》
以上是PHP中怎樣取得和偵測檔案的屬性? (總結分享)的詳細內容。更多資訊請關注PHP中文網其他相關文章!