如何获取公共目录?

问题描述 投票:0回答:6

我是这里的初学者所以请原谅我这个问题我正在使用

return File::put($path , $data);
在Laravel的公共文件夹中创建一个文件。我使用了来自控制器的这段代码我需要知道
$path
的值应该如何。

laravel laravel-4
6个回答
298
投票

使用

public_path()

供参考:

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

23
投票

您可以使用 base_path() 获取您的应用程序的基础 - 然后只需将您的公共文件夹添加到其中:

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

注意:非常小心允许人们将文件上传到您的 public_html 根目录。如果他们上传自己的 index.php 文件,他们将接管您的网站。


14
投票

我知道这有点晚了,但是如果其他人遇到这种情况,您现在可以使用 public_path();在 Laravel 4 中,它已被添加到支持文件夹中的 helper.php 文件中see here.


9
投票

从 Laravel 配置中检索公共文件夹路径的最佳方法是函数:

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

不需要所有的变量,但这只是为了演示目的。

希望这有帮助, GRnGC


1
投票

我觉得你要找的是asset('');创建符号链接后,您可以使用 asset('storage')。


0
投票
asset('public')

url('public')
© www.soinside.com 2019 - 2024. All rights reserved.