fzed51/console-fs

一组用于操作系统文件的函数

v1.2.0 2022-02-08 00:26 UTC

This package is auto-updated.

Last update: 2024-09-08 06:02:14 UTC


README

一组用于操作系统文件的函数

安装

composer require fzed51/console-fs

用法

目录

类名: \Console\FileSystem\Directory

create

静态函数,用于创建目录

Directory::create('nom_nouveau_dossier'); // new Directory('nom_nouveau_dossier')

如果目录名不是绝对路径,则当前目录将被考虑。返回新目录的Directory实例。

delete

静态函数,用于删除目录

Directory::delete('nom_dossier');

删除目录,如果目录不为空则抛出异常

Directory::delete('nom_dossier', true);

使用第二个参数删除非空目录

exists

静态函数,用于测试目录是否存在

Directory::exist('nom_dossier') // true|false;

getName

方法,返回目录名

$dir = new Directory('./chemin/nom_dossier');
$dir->getName(); // "nom_dossier"

getFullName

方法,返回目录的完整名称

$dir = new Directory('./chemin/nom_dossier');
$dir->getFullName(); // "c:/chemin_absolut/chemin/nom_dossier"

empty

方法,测试目录是否为空

$dir = new Directory('./chemin/nom_dossier');
$dir->empty(); // true|false

ls

方法,列出目录中的文件

$dir = new Directory('./chemin/nom_dossier');
$dir->ls(); // ["fichier1"]
$dir->ls(true); // ["fichier1", "sub/fichier2"]

lsDirectory

方法,列出目录中的目录

$dir = new Directory('./chemin/nom_dossier');
$dir->lsDirectory(); // ["sub"]
$dir->lsDirectory(true); // ["sub", "sub/sub-sub"]

copy

方法,复制目录

$dir = new Directory('./chemin/nom_dossier');
$dir->copy('destination') // new Directory('destination')

返回目标目录的Directory实例

文件

类名: \Console\FileSystem\File

create

静态函数,用于创建文件

File::create('nom_fichier'); // new File('mon_fichier')

delete

静态函数,用于删除文件

File::delete('nom_fichier');

exists

静态函数,用于测试文件是否存在

File::exist('nom_fichier') // true|false;

getName

方法,返回文件名

$file = new File('./chemin/nom_fichier.ext');
$file->getName(); // "nom_fichier.ext"

getFullName

方法,返回文件的完整名称

$file = new File('./chemin/nom_fichier.ext');
$file->getFullName(); // "c:/chemin_absolut/chemin/nom_fichier.ext"

copy

方法,复制文件

$file = new File('./chemin/nom_fichier.ext');
$file->copy('directory_destination') // new File('./directory_destination/nom_fichier.ext')
$file->copy('nouveau/nom/') // new File('./nouveau/nom/nom_fichier.ext')
$file->copy('nouveau/nom') // new File('./nouveau/nom')
$file->copy('directory_destination/nouveau_nom.ext') // new File('./directory_destination/nouveau_nom.ext')

返回目标目录的Directory实例。如果目标为目录或以目录分隔符结束,则文件保持其名称。否则,文件将采用目标名称。

路径

endBySeparator

静态方法,用于测试路径是否以目录分隔符结束

Path::endBySeparator('a'); // false
Path::endBySeparator('a/'); // true

normalize

清理和统一路径的书写

Path::nomalize('a/b\\c'); // a/b/c

join

将路径元素组装在一起

Path::join('a', 'b\\c', 'd'); // a/b/c/d