web-dev-qa-db-fra.com

Comment obtenir un annuaire public?

Je suis un débutant ici, alors excusez-moi, j'utilise return File::put($path , $data); pour créer un fichier dans un dossier public sur Laravel. J'ai utilisé ce morceau de code de contrôleur j'ai besoin de connaître la valeur de $path comment cela devrait-il être.

58
Yasser Moussa

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');
168
Justin

Vous pouvez utiliser base_path () pour obtenir la base de votre application - puis ajoutez simplement votre dossier public à celui-ci:

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

Remarque: veillez à ce que très permette aux personnes de télécharger des fichiers dans la racine de public_html. S'ils téléchargent leur propre fichier index.php, ils prendront en charge votre site.

14
Laurence

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

11
Brent

Le meilleur moyen de récupérer votre chemin de dossier public depuis votre config 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 uniquement à des fins démonstratives.

J'espère que cela vous aidera, GRnGC

4
GCT