File
优质
小牛编辑
140浏览
2023-12-01
类名: Imi\Util\File
文件相关工具类
方法
enum
方法返回一个迭代器对象。
// 枚举当前目录及所有子目录中的文件,不包含.和..
foreach(File::enum(__DIR__) as $fileName)
{
echo (string)$fileName, PHP_EOL;
}
enumPHPFile
方法返回一个迭代器对象。
// 枚举当前目录及所有子目录中的PHP文件
foreach(File::enumPHPFile(__DIR__) as $fileName)
{
echo (string)$fileName, PHP_EOL;
}
path
组合路径,目录后的/不是必须
// abc/index.html
echo File::path('abc', 'index.html');
// 支持协议uri,多余的/会合并为一个:http:/www.baidu.com/a/b/index.html
echo File::path('http://www.baidu.com', 'a//b///', 'index.html');
readAll
根据文件打开句柄,读取文件所有内容
$fp = fopen(__FILE__, 'r');
echo File::readAll($fp);
fclose($fp);
createDir
创建一个目录
// 递归创建目录,权限默认0755
File::createDir('a/b/c');
// 递归创建目录,权限为0777
File::createDir('a/b/c', 0777);
createFile
创建一个文件
// 创建文件,目录不存在则自动创建,权限默认0755
File::createFile('a/b/c.txt');
// 创建文件,目录不存在,指定内容为abc,则自动创建,权限默认0755
File::createFile('a/b/c.txt', 'abc');
// 创建文件,目录不存在则自动创建,权限为0777
File::createFile('a/b/c.txt', '', 0777);
isEmptyDir
判断是否为空目录
File::isEmptyDir(__DIR__);
deleteDir
递归删除目录及目录中所有文件
File::deleteDir('xxx');
putContents
写入内容到文件,如果目录不存在自动创建多级目录。
参数、返回值与
file_put_contents
完全一致
File::putContents('./a/b/c/1.txt', '123');
absolute
获取绝对路径
相比 realpath()
函数,此方法不需要路径是真实存在的。
// /a/b/c/1.jpg
File::absolute('/a/b/d/e/../../c/./1.jpg');