anteris-dev/file-explorer

此包已被废弃,不再维护。未建议替代包。

为您的文件系统操作带来一点风格

v0.1.0 2020-09-01 14:08 UTC

This package is auto-updated.

Last update: 2021-04-29 01:11:53 UTC


README

此包旨在通过引入一些易于使用的语言方法,使您的文件系统操作更简单。

安装

运行 composer require anteris-dev/file-explorer

要求

入门

要开始使用此包,创建一个 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');