Class yii\helpers\BaseFileHelper
| 继承 | yii\helpers\BaseFileHelper |
|---|---|
| 子类 | yii\helpers\FileHelper |
| 可用版本自 | 2.0 |
| 源码 | https://github.com/yiichina/yii2/blob/api/framework/helpers/BaseFileHelper.php |
BaseFileHelper 为 yii\helpers\FileHelper 提供了具体的实现方法。
不要使用 BaseFileHelper 类。使用 yii\helpers\FileHelper 类来代替。
公共属性
| 属性 | 类型 | 描述 | 被定义在 |
|---|---|---|---|
| $mimeAliasesFile | string | 包含 MIME 别名的 PHP 文件的路径(或别名)。 | yii\helpers\BaseFileHelper |
| $mimeMagicFile | string | 包含 MIME 类型信息的 PHP 文件的路径(或别名)。 | yii\helpers\BaseFileHelper |
公共方法
| 方法 | 描述 | 被定义在 |
|---|---|---|
| copyDirectory() | 将整个目录复制为另一个目录。 文件和子目录也将被复制。 | yii\helpers\BaseFileHelper |
| createDirectory() | 创建一个新目录。 | yii\helpers\BaseFileHelper |
| filterPath() | 检查给定的文件路径是否满足过滤选项。 | yii\helpers\BaseFileHelper |
| findDirectories() | 返回在指定目录和子目录下找到的目录。 | yii\helpers\BaseFileHelper |
| findFiles() | 返回在指定目录和子目录下找到的文件。 | yii\helpers\BaseFileHelper |
| getExtensionsByMimeType() | 根据给定 MIME 类型确定扩展。 该方法将使用扩展名和 MIME 类型之间的本地映射。 | yii\helpers\BaseFileHelper |
| getMimeType() | 确定指定文件的 MIME 类型。
此方法首先尝试基于 finfo_open 确定 MIME 类型。
如果 fileinfo 扩展未安装,
当 $checkExtension 设置 true 的时候它将基于 getMimeTypeByExtension()。 |
yii\helpers\BaseFileHelper |
| getMimeTypeByExtension() | 根据指定文件的扩展名确定 MIME 类型。 该方法将使用扩展名和 MIME 类型之间的本地映射。 | yii\helpers\BaseFileHelper |
| localize() | 返回指定文件的本地化版本。 | yii\helpers\BaseFileHelper |
| normalizePath() | 规范化文件/目录路径。 | yii\helpers\BaseFileHelper |
| removeDirectory() | 递归地删除一个目录(及其所有内容)。 | yii\helpers\BaseFileHelper |
| unlink() | 以跨平台的方式删除文件或符号链接 | yii\helpers\BaseFileHelper |
受保护的方法
| 方法 | 描述 | 被定义在 |
|---|---|---|
| loadMimeAliases() | 从指定文件加载 MIME 别名。 | yii\helpers\BaseFileHelper |
| loadMimeTypes() | 从指定的文件加载 MIME 类型。 | yii\helpers\BaseFileHelper |
| normalizeOptions() | yii\helpers\BaseFileHelper |
常量
| 常量 | 值 | 描述 | 被定义在 |
|---|---|---|---|
| PATTERN_CASE_INSENSITIVE | 32 | yii\helpers\BaseFileHelper | |
| PATTERN_ENDSWITH | 4 | yii\helpers\BaseFileHelper | |
| PATTERN_MUSTBEDIR | 8 | yii\helpers\BaseFileHelper | |
| PATTERN_NEGATIVE | 16 | yii\helpers\BaseFileHelper | |
| PATTERN_NODIR | 1 | yii\helpers\BaseFileHelper |
属性详情
包含 MIME 别名的 PHP 文件的路径(或别名)。
包含 MIME 类型信息的 PHP 文件的路径(或别名)。
方法详情
将整个目录复制为另一个目录。 文件和子目录也将被复制。
| public static void copyDirectory($src, $dst, $options = []) | ||
| $src | string | 源目录 |
| $dst | string | 目标目录 |
| $options | array | 目录复制选项。有效的选项是:
|
| throws | yii\base\InvalidArgumentException | 如果无法打开目录抛出异常 |
|---|---|---|
创建一个新目录。
这个方法类似于 PHP mkdir() 函数,
只不过它使用 chmod() 来设置创建目录的权限,
以避免 umask 设置的影响。
| public static boolean createDirectory($path, $mode = 0775, $recursive = true) | ||
| $path | string | 要创建的目录的路径。 |
| $mode | integer | 为创建的目录设置的权限。 |
| $recursive | boolean | 如果父目录不存在是否需要创建它们。 |
| return | boolean | Whether 目录创建成功 |
|---|---|---|
| throws | yii\base\Exception | 如果无法创建目录(例如 php 错误导致并行修改) |
检查给定的文件路径是否满足过滤选项。
| public static boolean filterPath($path, $options) | ||
| $path | string | 要检查的文件或目录的路径 |
| $options | array | 过滤选项。 有关支持的选项的解释请参考 findFiles()。 |
| return | boolean | 文件或目录是否满足筛选选项。 |
|---|---|---|
返回在指定目录和子目录下找到的目录。
| public static array findDirectories($dir, $options = []) | ||
| $dir | string | 将在其中查找文件的目录。 |
| $options | array | 目录搜索选项。有效选项是:
|
| return | array | 目录下找到的目录,没有特别的顺序。排序取决于所使用的文件系统。 |
|---|---|---|
| throws | yii\base\InvalidArgumentException | 如果目录无效抛出异常。 |
返回在指定目录和子目录下找到的文件。
| public static array findFiles($dir, $options = []) | ||
| $dir | string | 将在其中查找文件的目录。 |
| $options | array | 目录搜索选项。有效选项是:
|
| return | array | 在目录下找到的数组文件,没有特别的顺序。排序取决于使用的文件系统。 |
|---|---|---|
| throws | yii\base\InvalidArgumentException | 如果目录无效则抛出异常。 |
根据给定 MIME 类型确定扩展。 该方法将使用扩展名和 MIME 类型之间的本地映射。
| public static array getExtensionsByMimeType($mimeType, $magicFile = null) | ||
| $mimeType | string | 文件的 MIME 类型。 |
| $magicFile | string | 包含所有可用 MIME 类型信息的文件的路径(或别名)。 如果没有设置,将使用 $mimeMagicFile 指定的文件。 |
| return | array | 对应于指定 MIME 类型的扩展 |
|---|---|---|
确定指定文件的 MIME 类型。
此方法首先尝试基于 finfo_open 确定 MIME 类型。
如果 fileinfo 扩展未安装,
当 $checkExtension 设置 true 的时候它将基于 getMimeTypeByExtension()。
| public static string getMimeType($file, $magicFile = null, $checkExtension = true) | ||
| $file | string | 文件名称。 |
| $magicFile | string | 可选的魔术数据库文件名(或别名),通常类似 |
| $checkExtension | boolean | 在 |
| return | string | MIME 类型(e.g. |
|---|---|---|
| throws | yii\base\InvalidConfigException | 当 |
根据指定文件的扩展名确定 MIME 类型。 该方法将使用扩展名和 MIME 类型之间的本地映射。
| public static string|null getMimeTypeByExtension($file, $magicFile = null) | ||
| $file | string | 文件的名字。 |
| $magicFile | string | 包含所有可用 MIME 类型信息的文件的路径(或别名)。 如果没有设置,将使用 $mimeMagicFile 指定的文件。 |
| return | string|null | MIME 类型。如果无法确定 MIME 类型,则返回 Null。 |
|---|---|---|
从指定文件加载 MIME 别名。
| protected static array loadMimeAliases($aliasesFile) | ||
| $aliasesFile | string | 包含 MIME 类型别名的文件的路径(或别名)。 如果没有设置,将使用 $mimeAliasesFile 指定的文件。 |
| return | array | 从文件扩展名到 MIME 类型的映射 |
|---|---|---|
从指定的文件加载 MIME 类型。
| protected static array loadMimeTypes($magicFile) | ||
| $magicFile | string | 包含所有可用 MIME 类型信息的文件的路径(或别名)。 如果没有设置,将使用 $mimeMagicFile 指定的文件。 |
| return | array | 从文件扩展名到 MIME 类型的映射 |
|---|---|---|
返回指定文件的本地化版本。
基于指定的语言代码进行搜索。 特别是,将在子目录下查找同名的文件 它的名字与语言代码一样。比如说,找到某个文件 "path/to/view.php" 包含语言代码 "zh-CN",本地化文件将在 "path/to/zh-CN/view.php" 这里被查找。 如果这个文件没有被找到,它将尝试使用 "zh" 下的语言代码进行备用, 例如 "path/to/zh/view.php"。如果找不到,将返回原始文件。
如果目标语言代码和源语言代码相同, 原始文件将被返回。
| public static string localize($file, $language = null, $sourceLanguage = null) | ||
| $file | string | 原始文件 |
| $language | string | 文件应该本地化到的目标语言。 如果没有去设置,将使用 yii\base\Application::$language 的值。 |
| $sourceLanguage | string | 原始文件所包含的语言。 如果没有去设置,将使用 yii\base\Application::$sourceLanguage 的值。 |
| return | string | 匹配的本地化文件,如果本地文件未找到可以使用原始文件。 如果目标语言代码和源语言代码相同,将返回原始文件。 |
|---|---|---|
| protected static array normalizeOptions(array $options) | ||
| $options | array | 原始选项 |
| return | array | 标准化选项 |
|---|---|---|
规范化文件/目录路径。
规范化做了以下工作:
- 将所有目录分隔符转换为
DIRECTORY_SEPARATOR(e.g. "\a/b\c" becomes "/a/b/c") - 删除末尾的目录分隔符(e.g. "/a/b/c/" becomes "/a/b/c")
- 将多个连续斜杠转换为单个斜杠(e.g. "/a///b/c" becomes "/a/b/c")
- 移除 ".." 和 "." 基于它们的定义(e.g. "/a/./b/../c" becomes "/a/c")
| public static string normalizePath($path, $ds = DIRECTORY_SEPARATOR) | ||
| $path | string | 要标准化的文件/目录路径 |
| $ds | string | 要在规范化结果中使用的目录分隔符。默认是 |
| return | string | 规范化文件/目录路径 |
|---|---|---|
递归地删除一个目录(及其所有内容)。
| public static void removeDirectory($dir, $options = []) | ||
| $dir | string | 递归删除的目录。 |
| $options | array | 目录删除选项。有效的选项是:
|
| throws | yii\base\ErrorException | 失败时抛出的异常 |
|---|---|---|
以跨平台的方式删除文件或符号链接
| public static boolean unlink($path) | ||
| $path | string | |