Dir

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