PHP code example of cocoon-projet / storage

1. Go to this page and download the library: Download cocoon-projet/storage library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

cocoon-projet / storage example snippets


use Cocoon\StorageManager\Storage;
use Cocoon\StorageManager\StorageConfig;

// Configuration simple
$config = new StorageConfig('/chemin/vers/le/dossier');

// Configuration avancée
$config = new StorageConfig('/chemin/vers/le/dossier', [
    'visibility' => 'public',        // Visibilité des fichiers (public/private)
    'directory_visibility' => 'public', // Visibilité des répertoires
    'case_sensitive' => true,        // Sensibilité à la casse
]);

// Initialisation
Storage::init($config);

// Écrire un fichier
Storage::put('fichier.txt', 'Contenu');

// Lire un fichier
$contenu = Storage::get('fichier.txt');

// Vérifier l'existence
if (Storage::exists('fichier.txt')) {
    // ...
}

// Supprimer un fichier
Storage::delete('fichier.txt');

// Copier un fichier
Storage::copy('source.txt', 'destination.txt');

// Déplacer un fichier
Storage::move('ancien.txt', 'nouveau.txt');

// Créer un répertoire
Storage::mkdir('mon-dossier');

// Supprimer un répertoire
Storage::rmdir('mon-dossier');

// Rechercher dans un dossier spécifique
$fichiers = Storage::find()
    ->in('mon-dossier')
    ->files()
    ->get();

// Rechercher dans plusieurs dossiers
$fichiers = Storage::find()
    ->in(['dossier1', 'dossier2'])
    ->files()
    ->get();

// Rechercher tous les fichiers
$fichiers = Storage::find()
    ->files()
    ->get();

// Rechercher tous les répertoires
$repertoires = Storage::find()
    ->directories()
    ->get();

// Filtrer par taille
$petitsFichiers = Storage::find()
    ->in('mon-dossier')
    ->size('< 1MB')
    ->get();

// Filtrer par date
$fichiersRecents = Storage::find()
    ->in('mon-dossier')
    ->date('> 1 day')
    ->get();

// Filtrer par extension
$fichiersTxt = Storage::find()
    ->in('mon-dossier')
    ->only(['*.txt'])
    ->get();

// Exclure des fichiers
$fichiersNonPhp = Storage::find()
    ->in('mon-dossier')
    ->except(['*.php'])
    ->get();

// Trier les résultats
$fichiersTries = Storage::find()
    ->in('mon-dossier')
    ->sortByName()          // Trier par nom
    ->sortByDate()          // Trier par date
    ->sortBySize()          // Trier par taille
    ->sortByExtension()     // Trier par extension
    ->get();

// Obtenir un gestionnaire de fichier
$fichier = Storage::file('mon-fichier.txt');

// Vérifier le type MIME
$type = $fichier->mimeType();

// Obtenir la taille
$taille = $fichier->size();

// Obtenir la date de modification
$date = $fichier->dateTime();

// Obtenir le nom
$nom = $fichier->name();

use Cocoon\StorageManager\Storage;
use Cocoon\StorageManager\StorageConfig;

// Configuration
$config = new StorageConfig(__DIR__ . '/storage', [
    'visibility' => 'public',
    'directory_visibility' => 'public',
    'case_sensitive' => true,
]);

// Initialisation
Storage::init($config);

// Création de dossiers
Storage::mkdir('documents');
Storage::mkdir('images');
Storage::mkdir('cache');

// Recherche dans des dossiers spécifiques
$fichiersDocuments = Storage::find()
    ->in('documents')
    ->files()
    ->get();

$fichiersCache = Storage::find()
    ->in('cache')
    ->files()
    ->get();

// Recherche avec filtres
$fichiersRecents = Storage::find()
    ->in(['documents', 'images'])
    ->files()
    ->date('> 1 day')
    ->sortByDate()
    ->get();