在先前的文章《php檔案操作之逐行讀取檔案》中,我們介紹了PHP進行逐行讀取檔案的兩種方法(fgets()和fgetss()函數) 。以下這篇文章為大家介紹如何使用PHP檢查檔案是否可讀、可寫入、可執行。
在進行文件讀寫等操作時,需要先檢查該文件是否可以讀寫或執行,也就是文件是否可讀、可寫、可執行的權限。那麼如何檢查呢?今天我們就來跟大家介紹一下檢查方法。
我們有一個名為「test.txt」的文字文件,使用chmod()函數來設定權限:
<?php chmod("test.txt", 0400); ?>
上面的程式碼可設定test.txt檔案權限為:擁有者可讀,其他人無權限。
下面我們來看看如何檢查檔案是否可讀、可寫入、可執行的方法。
1、使用is_readable()函數檢查檔案是否可讀
is_readable()函數可檢查指定的檔案是否可讀;該函數只接受一個參數$filename
,用來指定需要檢查的檔案。
下面透過程式碼範例來看看:
<?php header("Content-type:text/html;charset=utf-8"); $file = "test.txt"; if(is_readable($file)) { echo ("$file 可读"); } else { echo ("$file 不可读"); } ?>
如果$filename
檔案存在且可讀取數據,則傳回 TRUE,否則傳回 FALSE。因此輸出結果為:
test.txt 可读
2、使用is_writable()函數檢查檔案是否可寫入
is_writable()函數可檢查指定的檔案是否可寫入。
函數同樣接受一個參數$filename
,用來指定需要檢查的檔案;如果$filename
檔案存在且可讀取數據,則傳回TRUE,否則返回FALSE。
下面透過程式碼範例來看看:
<?php header("Content-type:text/html;charset=utf-8"); $file = "test.txt"; if(is_writable($file)) { echo ("$file 可写"); } else { echo ("$file 不可写"); } ?>
輸出結果:
test.txt 不可读
3、使用is_executable()函數檢查檔案是否執行
#is_executable()函數可檢查指定的檔案是否可執行;函數也接受一個參數$filename
。
<?php header("Content-type:text/html;charset=utf-8"); $file = "test.txt"; if(is_executable($file)) { echo ("$file 可执行"); } else { echo ("$file 不可执行"); } ?>
如果$filename檔案存在且可讀取數據,則傳回 TRUE,否則傳回 FALSE。因此輸出結果為:
test.txt 不可执行
說明:
is_readable()、is_writable()和is_executable()函數的結果會被緩存,需要使用clearstatcache ()函數來清除快取。
在程式最後加上下面一句程式碼即可清除快取:
clearstatcache();
好了就說到這裡了,有其他想知道的,可以點擊這個喔。 → →PHP檔案基礎操作
#推薦:《PHP面試題大匯總(收藏)》《php影片教學》
以上是php檔案操作之檢查檔案是否可讀/寫/執行的詳細內容。更多資訊請關注PHP中文網其他相關文章!