fzed51 / console-fs
Ensemble de fonctions permettant de manipuler les fichiers systme
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
Ensemble de fonctions permettant de manipuler les fichiers système
Installation
composer require fzed51/console-fs
Usage
Directory
Nom de la class : \Console\FileSystem\Directory
create
Fonction statique pour créer un dossier
Directory::create('nom_nouveau_dossier'); // new Directory('nom_nouveau_dossier')
Si le nom de dossier n'est pas absolue, le dossier courant est pris en compte. Retourne une instance Directory du nouveau dossier.
delete
Fonction statique pour supprimer un dossier
Directory::delete('nom_dossier');
Supprime un dossier, lève une exception si le dossier n'est pas vide
Directory::delete('nom_dossier', true);
Utiliser le 2eme argument pour supprimer un dossier non vide
exists
Fonction statique pour tester l'existance d'un dossier
Directory::exist('nom_dossier') // true|false;
getName
Méthode qui donne le nom du dossier
$dir = new Directory('./chemin/nom_dossier'); $dir->getName(); // "nom_dossier"
getFullName
Méthode qui donne le nom complet du dossier
$dir = new Directory('./chemin/nom_dossier'); $dir->getFullName(); // "c:/chemin_absolut/chemin/nom_dossier"
empty
Méthode qui test si un dossier est vide
$dir = new Directory('./chemin/nom_dossier'); $dir->empty(); // true|false
ls
Méthode qui liste les fichiers d'un dossier
$dir = new Directory('./chemin/nom_dossier'); $dir->ls(); // ["fichier1"] $dir->ls(true); // ["fichier1", "sub/fichier2"]
lsDirectory
Méthode qui liste les dossiers d'un dossier
$dir = new Directory('./chemin/nom_dossier'); $dir->lsDirectory(); // ["sub"] $dir->lsDirectory(true); // ["sub", "sub/sub-sub"]
copy
Méthode qui copy un dossier
$dir = new Directory('./chemin/nom_dossier'); $dir->copy('destination') // new Directory('destination')
Retourne une instance Directory du dossier de destination
File
Nom de la class : \Console\FileSystem\File
create
Fonction statique pour créer un fichier
File::create('nom_fichier'); // new File('mon_fichier')
delete
Fonction statique pour supprimer un fichier
File::delete('nom_fichier');
exists
Fonction statique pour tester l'existance d'un fichier
File::exist('nom_fichier') // true|false;
getName
Méthode qui donne le nom du fichier
$file = new File('./chemin/nom_fichier.ext'); $file->getName(); // "nom_fichier.ext"
getFullName
Méthode qui donne le nom complet du fichier
$file = new File('./chemin/nom_fichier.ext'); $file->getFullName(); // "c:/chemin_absolut/chemin/nom_fichier.ext"
copy
Méthode qui copy un fichier
$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')
Retourne une instance Directory du dossier de destination Si la destination est un dossier ou fini par un séparateur de dossier, alors le fichier garde son nom. Sinon le fichier prend le nom de la destination.
Path
endBySeparator
methode static permetant de tester si un chemin se termine par un séparateur de dossier
Path::endBySeparator('a'); // false Path::endBySeparator('a/'); // true
normalize
Nettoie et harmonise l'écriture des chemins
Path::nomalize('a/b\\c'); // a/b/c
join
Assemble des éléments de chemin ensemble
Path::join('a', 'b\\c', 'd'); // a/b/c/d