無論檔案副檔名為何,這似乎都會針對正在執行的 phar 檔案傳回 true。這是未記載的 (PHP 使用 php 副檔名完美執行 phar 檔案也是如此)。這允許讀取正在執行的 phar 的元資料,例如。
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 1.2.0)
Phar::isValidPharFilename — 傳回給定的檔名是否為有效的 phar 檔名
傳回給定的檔名是否為有效的 phar 檔名,該檔名會被 phar 擴充功能識別為 phar 封存檔。這可以用於測試名稱,而無需實例化 phar 封存檔並捕捉如果指定無效名稱將會拋出的必然例外。
filename
尚未建立的 phar 封存檔的名稱或完整路徑
executable
此參數決定檔名應該被視為 phar 可執行封存檔,還是資料非可執行封存檔
無論檔案副檔名為何,這似乎都會針對正在執行的 phar 檔案傳回 true。這是未記載的 (PHP 使用 php 副檔名完美執行 phar 檔案也是如此)。這允許讀取正在執行的 phar 的元資料,例如。
請注意,當 $executable 為 'false' 時,只要檔名至少包含一個點,此方法就會接受_所有_內容 (=> 傳回 'true')
var_dump(\PharData::isValidPharFilename('randomstring.y', false));
bool(true)
這完全沒有錯,因為我可以隨意命名封存檔,但是這使得方法完全無用 (當 $executable == false 時)。