这似乎对正在运行的 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 时)。