在先前的文章中為大家帶來了《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中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版
好用的JavaScript開發工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

記事本++7.3.1
好用且免費的程式碼編輯器