無論檔案副檔名為何,這似乎都會針對正在執行的 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 時)。