fzed51 / console-fs
一组用于操作系统文件的函数
v1.2.0
2022-02-08 00:26 UTC
Requires
- php: >7.4
Requires (Dev)
- ocramius/package-versions: ^2.1
- phpstan/phpstan: ^1.4
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.6
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