Home

Flysystem est une API PHP open source permettant de gérer différents types de systèmes de fichiers (local, FTP, cloud…) à partir d’une seule et même syntaxe.

Flysystem est une API PHP open source permettant de gérer différents types de systèmes de fichiers (local, FTP, cloud...) à partir d'une seule et même syntaxe.

Les fichiers de vos web apps sont de plus en plus déportés sur des services de stockages dans le cloud, sur un FTP distant, dans une dropbox … Il est alors difficile de manipuler ces fichiers à partir de votre application.

Flysystem est une bibliothèque PHP open source qui vous permettra de manipuler vos fichiers de la même manière qu’ils soient en local ou distants.

Ses objectifs sont les suivants:

  • Disposer d’une API générique pour gérer les principales tâches de manipulation de systèmes de fichiers
  • Disposer d’un retour toujours identique
  • Pouvoir s’intégrer facilement dans les frameworks du marché
  • Pouvoir être mis en cache
  • Emuler des répertoires dans les systèmes qui n’en gèrent pas comme awsS3
  • Support de plugins tiers (adaptateurs…)
  • Rendre simple les tests d’interaction avec le filesystem
  • Support du stream pour les fichiers lourds

Un système d’adaptateur permet de gérer les systèmes de fichiers suivants:

  • Système de fichier local
  • AWS S3
  • Rackspace
  • Dropbox
  • Ftp
  • Sftp
  • Zip
  • WebDAV

Après avoir parametré votre adaptateur, vous pourrez interroger l’une des nombreuses méthodes proposées par Flysystem:

01.// Ecriture
02.$filesystem->write('filename.txt', 'contents');
03. 
04.// AJout de données
05.$filesystem->update('filename.txt', 'new contents');
06. 
07.// Mise à jour 
08.$filesystem->put('filename.txt', 'contents');
09. 
10.// Lecture
11.$contents = $filesystem->read('filename.txt');
12. 
13.// Suppression
14.$exists = $filesystem->has('filename.txt');
15.$filesystem->delete('filename.txt');
16. 
17.// renommage de fichiers
18.$filesystem->rename('filename.txt', 'newname.txt');
19. 
20.// Récupération des mimetypes
21.$mimetype = $filesystem->getMimetype('filename.txt');
22. 
23.// Récupération de timestamp
24.$timestamp = $filesystem->getTimestamp('filename.txt');
25. 
26.// Récupération du poids des fichiers
27.$size = $filesystem->getSize('filename.txt');
28. 
29.// Création de répertoires
30.$filesystem->createDir('nested/directory');
31. 
32.// Suppression de répertoires
33.$filesystem->deleteDir('path/to/directory');

Niveau performances, la bilbiothèque PHP prévoit un système de cache pour répondre plus rapidement en se couplant à Memcached, Redis, Noop ou en mémoire.

Plutôt pratique non ? Installation dans votre projet via Composer en quelques clics !

Site Officiel

Advertisements

Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s