Aller au contenu principal
Version: Next

Upload

Simplifie le téléchargement de fichiers dans le projet.

app/Controller/MyController.php
#[Template('front_page')]
public function contact(Request $request){
    // 'pj' est le name de mon input file
    $pj = $request->files->get('pj');

    Upload::file($pj)
        ->name("test.png")
        ->uploadsPath()
        ->maxSize(450, 'MB')
        ->mimeTypes('image/png')
        ->store();
}

Méthodes

file(UploadedFile|array $file)

Prend le fichier en paramètre. Dans l'exemple on utilise $request->files->get('pj') mais il est également possible de simplement utiliser $_FILES['pj'].

store()

Enregistre le fichier. Par défaut, si aucun chemin n'a été spécifié, il sera stocké dans le dossier uploads/elementum/.

maxSize(int $value, string $unit = "MB")

Définit une limite maximale de poids pour le fichier. Par défaut l'unité est à "MB" mais voici les autres unités acceptées :

  • B
  • KB
  • MB
  • GB

mimeTypes(string|array $mimeTypes)

Autorise uniquement certains types de fichiers. Soit une chaîne de caractère pour un seul type autorisé, soit un tableau pour spécifier tout ce qui est autorisé.

name(string $name)

Change le nom du fichier. Par défaut il reprendra celui d'origine.

absolutePath(string $path)

Définit le chemin de destination de manière absolue

rootPath(string $path)

Définit le chemin de destination de manière relative à la racine de WordPress

uploadsPath(string $folder = "elementum")

Définit le chemin de destination de manière relative au dossier uploads

(static) getFile(UploadedFile|array $file)

Retourne un UploadedFile. Permet principalement de forcer la conversion lorsqu'on passe un tableau.