首頁  >  文章  >  後端開發  >  php檔案操作之檢查檔案是否可讀/寫/執行

php檔案操作之檢查檔案是否可讀/寫/執行

青灯夜游
青灯夜游原創
2021-08-03 18:00:094469瀏覽

在先前的文章《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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn