asgard / file
v0.3.1
2016-05-13 11:31 UTC
Requires
- php: >=5.5.0
This package is not auto-updated.
Last update: 2024-09-14 16:39:46 UTC
README
#File
File是一个用于处理文件系统的包,它提供了一个类来将文件作为对象进行操作。
##安装 如果你在处理Asgard项目,你不需要安装这个库,因为它已经是标准库的一部分。
composer require asgard/file 0.*
###$mode
当一个方法接受参数$mode时,你可以使用不同的值
$mode = \Asgard\File\FileSystem::OVERRIDE; #override existing files
$mode = \Asgard\File\FileSystem::RENAME; #rename new files
$mode = \Asgard\File\FileSystem::IGNORE; #ignore existing files
$mode = \Asgard\File\FileSystem::MERGEDIR; #merge directories
$mode = \Asgard\File\FileSystem::MERGEDIR | \Asgard\File\FileSystem::OVERRIDE; #merge directories but override existing files
$mode = \Asgard\File\FileSystem::MERGEDIR | \Asgard\File\FileSystem::RENAME; #merge directories but rename new files
$mode = \Asgard\File\FileSystem::MERGEDIR | \Asgard\File\FileSystem::IGNORE; #merge directories but ignore existing files
默认为OVERRIDE。
###方法
从一个文件获取到另一个文件的相对路径
\Asgard\File\FileSystem::relativeTo($from, $to);
如果现有的文件名已被占用,则获取新文件名
$filename = \Asgard\File\FileSystem::getNewFilename($filename);
重命名文件或目录
$path = \Asgard\File\FileSystem::rename($src, $dst, $mode=null);
如果成功则返回新路径,否则返回false。
复制文件或目录
$path = \Asgard\File\FileSystem::copy($src, $dst, $mode=null);
如果成功则返回新路径,否则返回false。
删除文件或目录
\Asgard\File\FileSystem::delete($path);
如果成功则返回true,否则返回false。
创建新目录
\Asgard\File\FileSystem::mkdir($path);
如果成功则返回true,否则返回false。
将内容写入文件
\Asgard\File\FileSystem::write($path, $content, $mode=null, $append=false);
如果成功则返回true,否则返回false。
实例
$file = new \Asgard\File\File('/path/to/file.txt');
设置源
$file->setSrc('/path/to/another/file.txt');
设置文件名
$file->setName('file2.txt');
获取文件名
$file->getName();
检查文件是否刚刚上传
$file->isUploaded();
获取文件字节数
$file->size();
获取文件类型
$file->type();
获取文件扩展名
$file->extension();
检查文件是否存在
$file->exists();
获取文件源
$file->src();
获取到另一个文件或目录的相对路径
$file->relativeTo('/another/file.jpg');
移动到另一个目录
$file->moveToDir('/a/dir/', $mode=null);
检查文件是否在目录中
$file->isIn('/a/dir/');
检查文件是否在特定路径
$file->isAt('/path/to/file.txt');
重命名文件
$file->rename('/anoter/path/to/file.txt', $mode=null);
删除文件
$file->delete();
复制文件
$file->copy('/path/to/copy.txt', $mode=null);
###贡献
请将所有问题和pull请求提交到asgardphp/asgard存储库。
许可证
Asgard框架是开源软件,许可协议为MIT许可证