包 | helper |
---|---|
类层次 | class Helper_Filesys |
版本 | $Id: filesys.php 2212 2009-02-06 00:51:32Z dualface $ |
Helper_Filesys 类提供了一组简化文件系统操作的方法
部分方法来自 Yii Framework 框架的 CFileHelper 类,并作了修改。
方法 | 描述 | 定义于 |
---|---|---|
recursionGlob() | 遍历指定目录及子目录下的文件,返回所有与匹配模式符合的文件名 | Helper_Filesys |
mkdirs() | 创建一个目录树,失败抛出异常 | Helper_Filesys |
rmdirs() | 删除指定目录及其下的所有文件和子目录,失败抛出异常 | Helper_Filesys |
copyDir() | 复制一个目录及其子目录的文件到目的地 | Helper_Filesys |
findFiles() | 在指定目录及其子目录中查找文件 | Helper_Filesys |
public static array recursionGlob($dir, $pattern)
$dir | string | |
$pattern | string | |
{return} | array |
遍历指定目录及子目录下的文件,返回所有与匹配模式符合的文件名
public static void mkdirs($dir, $mode)
$dir | string | 要创建的目录 |
$mode | int | 新建目录的权限 |
{return} |
创建一个目录树,失败抛出异常
用法:
Helper_Filesys::mkdirs('/top/second/3rd');
public static void rmdirs($dir)
$dir | string | 要删除的目录 |
{return} |
删除指定目录及其下的所有文件和子目录,失败抛出异常
用法:
// 删除 my_dir 目录及其下的所有文件和子目录 Helper_Filesys::rmdirs('/path/to/my_dir');
注意:使用该函数要非常非常小心,避免意外删除重要文件。
public static void copyDir($src, $dst, $options)
$src | ||
$dst | ||
$options | ||
{return} |
复制一个目录及其子目录的文件到目的地
用法:
Helper_Filesys::copyDir($src, $dst);
如果目的地目录不存在,则会创建需要的目录。
可以通过 $options 参数控制要复制的文件,以及复制的深度。
$options 参数可用的选项有:
如果不指定该参数,则查找所有扩展名的文件。
"upload/avatars" 表示排除 "$dir/upload/avatars" 目录。
如果为 0 表示不查找子目录。
注意:copyDirs() 总是会排除所有以“.”开头的目录和文件。
public static array findFiles($dir, $options)
$dir | string|array | 要查找文件的目录 |
$options | array | 查找选项 |
{return} | array | 包含有效文件名的数组 |
在指定目录及其子目录中查找文件
用法:
$files = Helper_FileSys::findFiles($dir, array( // 只查找扩展名为 .jpg, .jpeg, .png 和 .gif 的文件 'extnames' => 'jpg, jpeg, png, gif', // 排除 .svn 目录和 upload/avatars 目录 'excludes' => '.svn, upload/avatars', // 只查找 2 层子目录 'level' => 2, ));
findFiles() 的 $options 参数支持下列选项:
如果不指定该参数,则查找所有扩展名的文件。
"upload/avatars" 表示排除 "$dir/upload/avatars" 目录。
如果为 0 表示不查找子目录。
findFiles() 返回一个数组,包含了排序后的文件完整路径。