Dir


>i 本文档的最新修订日期是: > **2020-12-27** # Dir ## 模块简述 获取目录或文件的属性、状态;复制、删除目录或文件。 ## :: State()方法 ### 语法 **Dir :: State ( 传参数组 )** ### 说明 获取文件夹或文件的可读性、可写性、可执行性。 此方法 `支持` 中文参数名。 ### 参数 * **`path(路径)`** `(String|Array)` `<必须>`: 需要获取属性的文件夹或文件的路径。 当传入的值为字符串时,则获取对应的文件或文件夹的信息。 亦可以传入多个路径组成的数组,其中数组的键无需定义,值为需要操作的路径。 路径是相对于 `应用根目录` (即Core、Source文件夹所在的目录,通常是站点根目录)的路径,以 `/` 开始。 ### 返回 `(Array)` 类型。 在返回的第一维数组中,键为文件夹或文件的路径,值为数组;在第二维数组中,有以下3个元素: 1. 键为 `R` ,代表是否可读,当值为 `Y` 时可读,当值为 `N` 时不可读; 2. 键为 `W` ,代表是否可写,当值为 `Y` 时可写,当值为 `N` 时不可写; 3. 键为 `Ex` ,代表是否可执行,当值为 `Y` 时可执行,当值为 `N` 时不可执行。 `文件夹没有此属性` 。 ### 示例 检测核心配置文件Common.php和它的父目录Core是否可读写: ```php $Config=array( 'path'=>array( '/Core', '/Config/Common.php' ) ) $Result=Dir::State($Config); print_r($Result); ``` 执行后的输出为: ```php Array( ['/Core']=>Array( ['R']=>'Y', ['W']=>'Y' ), ['/Config/Common.php']=>Array( ['R']=>'Y', ['W']=>'Y', ['Ex']=>'Y' ) ) ``` >w 本方法不会遍历目录,请指定 `所有` 需要获取状态的文件夹或文件。 ## :: Size()方法 ### 语法 **Dir :: Size ( 传参数组 )** ### 说明 获取指定目录所包含的所有文件的体积之和。 此方法 `支持` 中文参数名。 ### 参数 * **`path(路径)`** `(String)` `<必须>`: 指定备份的文件存储到何处,值为相对于 `应用根目录`(即Core、Source文件夹所在的目录,通常是站点根目录)的路径,以 `/` 开始。 * **`unit(单位)`** `(String)` `NULL`: 指定返回体积的计算单位,可传入 `KB` / `MB` / `GB` 。当未传入本参数时,返回体积的计算单位为 `B`(字节)。 ### 返回 `(String)` 类型。 根据计算单位(如果已经指定)计算得出的体积大小。 ## :: Delete()方法 ### 语法 **Dir :: Delete ( 传参数组 )** ### 说明 删除指定的目录。 此方法 `支持` 中文参数名。 ### 参数 * **`path(路径)`** `(String)` `<必须>`: 指定需要操作的文件夹的路径,即相对于 `应用根目录`(即Core、Source文件夹所在的目录,通常是站点根目录)的路径,以 `/` 开始。 ### 返回 无。