首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP is_executable 函數詳解:判斷文件是否可執行

     編輯:PHP 綜合知識

函數簡介

is_executable() 用於檢測指定文件是否存在且可執行。若文件存在並具備執行權限,返回 true;否則返回 false。

語法

bool is_executable ( string $filename )

參數說明

參數描述
filename文件的路徑(相對或絕對路徑均可)。

返回值

  • true:文件存在且可執行。
  • false:文件不存在、不可執行或發生錯誤(如權限不足)。

注意事項

  • Windows 系統下,PHP 5.0.0 及以上版本才正確支援此函數;舊版本可能僅檢查副檔名(如 .exe, .bat, .cmd)。
  • 受 safe_mode 與 open_basedir 限制影響。
  • 結果會被快取,若文件權限在腳本運行期間變更,需呼叫 clearstatcache() 刷新。

實際應用範例

<?php
$file = 'permissions.php';

if (is_executable($file)) {
    echo "文件 $file 可執行。<br>";
} else {
    echo "文件 $file 不可執行或不存在。<br>";
}

// 進階:結合 clearstatcache 確保即時性
// 修改文件權限後...
clearstatcache();
var_dump(is_executable($file));
?>

常見使用場景

  • 在執行 exec()、shell_exec() 等系統命令前,預先檢查腳本/二進制文件是否可執行。
  • 建構部署腳本時,驗證關鍵工具(如 composer、phpunit、自定義 Shell 腳本)是否具備執行權限。
  • 安全審計:掃描目錄下可執行文件,防範惡意上傳的 Webshell。

相關函數

  • is_readable():判斷文件是否可讀
  • is_writable():判斷文件是否可寫
  • fileperms():獲取文件詳細權限
  • clearstatcache():清除文件狀態快取
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved