File

类名: Imi\Util\File

文件相关工具类

方法

enum

方法返回一个迭代器对象。

  1. // 枚举当前目录及所有子目录中的文件,不包含.和..
  2. foreach(File::enum(__DIR__) as $fileName)
  3. {
  4. echo (string)$fileName, PHP_EOL;
  5. }

enumPHPFile

方法返回一个迭代器对象。

  1. // 枚举当前目录及所有子目录中的PHP文件
  2. foreach(File::enumPHPFile(__DIR__) as $fileName)
  3. {
  4. echo (string)$fileName, PHP_EOL;
  5. }

path

组合路径,目录后的/不是必须

  1. // abc/index.html
  2. echo File::path('abc', 'index.html');
  3. // 支持协议uri,多余的/会合并为一个:http:/www.baidu.com/a/b/index.html
  4. echo File::path('http://www.baidu.com', 'a//b///', 'index.html');

readAll

根据文件打开句柄,读取文件所有内容

  1. $fp = fopen(__FILE__, 'r');
  2. echo File::readAll($fp);
  3. fclose($fp);

readFile

读取文件所有内容,优先使用协程,如果不支持则使用传统阻塞方式

  1. echo File::readFile(__FILE__);

writeFile

写入文件,优先使用协程,如果不支持则使用传统阻塞方式

  1. // 写入文件
  2. File::writeFile('a.txt', '123');
  3. // 追加进文件
  4. File::writeFile('a.txt', '456', FILE_APPEND);

createDir

创建一个目录

  1. // 递归创建目录,权限默认0755
  2. File::createDir('a/b/c');
  3. // 递归创建目录,权限为0777
  4. File::createDir('a/b/c', 0777);

createFile

创建一个文件

  1. // 创建文件,目录不存在则自动创建,权限默认0755
  2. File::createFile('a/b/c.txt');
  3. // 创建文件,目录不存在则自动创建,权限为0777
  4. File::createFile('a/b/c.txt', 0777);