PHP Conference Japan 2024

Phar::isValidPharFilename

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.0)

Phar::isValidPharFilename傳回給定的檔名是否為有效的 phar 檔名

描述

final public static Phar::isValidPharFilename(string $filename, bool $executable = true): bool

傳回給定的檔名是否為有效的 phar 檔名,該檔名會被 phar 擴充功能識別為 phar 封存檔。這可以用於測試名稱,而無需實例化 phar 封存檔並捕捉如果指定無效名稱將會拋出的必然例外。

參數

filename

尚未建立的 phar 封存檔的名稱或完整路徑

executable

此參數決定檔名應該被視為 phar 可執行封存檔,還是資料非可執行封存檔

傳回值

如果檔名有效,則傳回 true,否則傳回 false

新增註解

使用者貢獻的註解 2 則註解

0
kevin dot sours at internetbrands dot com
4 個月前
無論檔案副檔名為何,這似乎都會針對正在執行的 phar 檔案傳回 true。這是未記載的 (PHP 使用 php 副檔名完美執行 phar 檔案也是如此)。這允許讀取正在執行的 phar 的元資料,例如。
0
sebastian dot krebs dot berlin at googlemail dot com
13 年前
請注意,當 $executable 為 'false' 時,只要檔名至少包含一個點,此方法就會接受_所有_內容 (=> 傳回 'true')

var_dump(\PharData::isValidPharFilename('randomstring.y', false));
bool(true)

這完全沒有錯,因為我可以隨意命名封存檔,但是這使得方法完全無用 (當 $executable == false 時)。
To Top