How to get public directory?

LaravelLaravel 4

Laravel Problem Overview


I am a beginner here so pardon me for this question am using return File::put($path , $data); to create a file in public folder on Laravel. I used this piece of code from controller I need to know the value of $path how should it be.

Laravel Solutions


Solution 1 - Laravel

Use public_path()

For reference:

// 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');

Solution 2 - Laravel

You can use base_path() to get the base of your application - and then just add your public folder to that:

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

Note: Be very careful about allowing people to upload files into your root of public_html. If they upload their own index.php file, they will take over your site.

Solution 3 - Laravel

I know this is a little late, but if someone else comes across this looking, you can now use public_path(); in Laravel 4, it has been added to the helper.php file in the support folder see here.

Solution 4 - Laravel

The best way to retrieve your public folder path from your Laravel config is the function:

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

There is no need to have all the variables, but this is just for a demonstrative purpose.

Hope this helps, GRnGC

Solution 5 - Laravel

I think what you are looking for is asset(''); You can use asset('storage'), after creating your symbolic link.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionYasser MoussaView Question on Stackoverflow
Solution 1 - LaravelJustinView Answer on Stackoverflow
Solution 2 - LaravelLaurenceView Answer on Stackoverflow
Solution 3 - LaravelBrentView Answer on Stackoverflow
Solution 4 - LaravelGCTView Answer on Stackoverflow
Solution 5 - LaravelOlusola OmosolaView Answer on Stackoverflow