anteris-dev / file-explorer
此包已被废弃,不再维护。未建议替代包。
为您的文件系统操作带来一点风格
v0.1.0
2020-09-01 14:08 UTC
Requires
- php: ^7.4
- spatie/data-transfer-object: ^2.5
- symfony/filesystem: ^5.1
Requires (Dev)
- phpunit/phpunit: ^9.3
This package is auto-updated.
Last update: 2021-04-29 01:11:53 UTC
README
此包旨在通过引入一些易于使用的语言方法,使您的文件系统操作更简单。
安装
运行 composer require anteris-dev/file-explorer
要求
- PHP ^7.4 以实现更严格的类型转换。
- Spatie Data-Transfer-Objects 用于文件对象。
- Symfony Filesystem 用于其现有易于使用的功能。
入门
要开始使用此包,创建一个 FileExplorer
类的新实例。如果您将目录传递给构造函数,这将成为您的起始位置,否则将使用当前工作目录。
示例
use Anteris\FileExplorer\FileExplorer; $fileExplorer = new FileExplorer; // This uses the cwd $fileExplorer = new FileExplorer('/users/foo'); // This uses /users/foo
与文件系统交互
有几个方法可以帮助您开始与文件系统交互。以下列出了这些方法。
createDirectory( string $directory )
此方法创建一个新的目录。如果是相对路径,则此目录将相对于当前指针创建。如果是绝对路径,则将在该位置创建。
示例
$fileExplorer->createDirectory('./myFolder'); // Creates the folder here $fileExplorer->createDirectory('/users/foo/myFolder'); // Creates the folder in /users/foo
createAndEnterDirectory( string $directory )
创建一个新目录并设置当前上下文为此目录。
示例
use Anteris\FileExplorer\FileExplorer; $fileExplorer = new FileExplorer('/users/foo'); $fileExplorer->createAndEnterDirectory('testing'); echo $fileExplorer->getCurrentDirectory(); // Returns '/users/foo/testing/'
createFile( string $filename, $contents, bool $overwrite = false )
此方法创建一个新的文件。如果是相对路径,则此文件将相对于当前指针创建。如果是绝对路径,则将在该位置创建。除非传递 $overwrite 作为 true,否则不会覆盖文件。
示例
$fileExplorer->createFile('test.txt', 'Hello world!'); // Will not overwrite test.txt $fileExplorer->createFile('test.txt', 'Hello world!', true); // Will overwrite test.txt
enterDirectory( string $directory )
将类的当前上下文设置为该目录(想想在文件浏览器中进入子文件夹)。如果传递的是相对路径,则相对于当前目录上下文。
示例
$fileExplorer->enterDirectory('mySubFolder'); // Relative directory $fileExplorer->enterDirectory('/users/foo'); // Absolute path
exists( string $pointer )
如果请求的资源存在,则返回 true,否则返回 false。这可能是文件或目录。如果传递的路径是相对的,则相对于当前目录上下文。
示例
$fileExplorer->exists('myFolder');
getCurrentDirectory()
返回类的当前目录上下文。这是解析相对路径的地方。
getDirectoryContents()
返回当前目录上下文中的文件和目录集合。
示例
use Anteris\FileExplorer\FileObject\Directory; use Anteris\FileExplorer\FileObject\File; $items = $fileExplorer->getDirectoryContents(); foreach ($items as $item) { if ($item instanceof Directory) { echo 'Directory!' . PHP_EOL; } if ($item instanceof File) { echo 'File!' . PHP_EOL; } echo $file->name . PHP_EOL; }
goUp()
将目录上下文设置为父文件夹。
示例
use Anteris\FileExplorer\FileExplorer; $fileExplorer = new FileExplorer('/users/foo'); $fileExplorer->goUp(); echo $fileExplorer->getCurrentDirectory(); // returns /users/
isAbsolutePath(string $path)
如果路径是绝对路径则返回 true,否则返回 false。
joinPaths(...$paths)
将多个目录路径连接起来。结尾会加上一个正斜杠,因此不应与文件名一起使用。
示例
/** * Returns /users/foo/desktop/ */ $path = $fileExplorer->joinPaths('/users', '/foo', 'Desktop');