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