117 votes

Comment obtenir l'annuaire public ?

Je suis un débutant ici donc pardonnez-moi pour cette question, j'utilise return File::put($path , $data); pour créer un fichier dans le dossier public de Laravel. J'ai utilisé ce morceau de code à partir du contrôleur, j'ai besoin de connaître la valeur de $path comment ça devrait être.

281voto

Justin Points 2493

Utilisez public_path()

Pour référence :

// Path to the project's root folder    
echo base_path();

// Path to the 'app' folder    
echo app_path();        

// Path to the 'public' folder    
echo public_path();

// Path to the 'storage' folder    
echo storage_path();

// Path to the 'storage/app' folder    
echo storage_path('app');

23voto

The Shift Exchange Points 23103

Vous pouvez utiliser base_path() pour obtenir la base de votre application, puis y ajouter votre dossier public :

$path = base_path().'/public';
return File::put($path , $data)

Note : Soyez très Faites attention à ne pas autoriser les gens à télécharger des fichiers dans votre racine de public_html. S'ils téléchargent leur propre fichier index.php, ils prendront le contrôle de votre site.

14voto

Brent Points 386

Je sais que c'est un peu tard, mais si quelqu'un d'autre tombe sur cette recherche, vous pouvez maintenant utiliser public_path() ; dans Laravel 4, il a été ajouté au fichier helper.php dans le dossier de support voir ici .

8voto

GCT Points 51

La meilleure façon de récupérer le chemin du dossier public à partir de votre configuration Laravel est la fonction :

$myPublicFolder = public_path();
$savePath = $mypublicPath."enter_path_to_save";
$path = $savePath."filename.ext";
return File::put($path , $data);

Il n'est pas nécessaire d'avoir toutes les variables, mais c'est juste à titre de démonstration.

J'espère que cela vous aidera, GRnGC

0voto

Olusola Omosola Points 116

Je pense que ce que vous recherchez est asset('') ; Vous pouvez utiliser asset('storage'), après avoir créé votre lien symbolique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X