我是这里的初学者,所以请原谅我使用这个问题return File::put($path , $data);
在 Laravel 的公共文件夹中创建一个文件。我使用了控制器中的这段代码,我需要知道它的值$path
应该如何。
问问题
201517 次
5 回答
272
利用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');
于 2014-05-02T00:07:26.797 回答
22
您可以使用 base_path() 来获取应用程序的基础 - 然后只需将您的公用文件夹添加到其中:
$path = base_path().'/public';
return File::put($path , $data)
注意:允许人们将文件上传到您的 public_html 根目录时要非常小心。如果他们上传自己的 index.php 文件,他们将接管您的网站。
于 2013-02-12T16:43:13.810 回答
14
我知道这有点晚了,但是如果其他人遇到这种情况,您现在可以使用 public_path(); 在 Laravel 4 中,它已添加到 support 文件夹中的 helper.php 文件中,请参见此处。
于 2013-05-05T15:29:25.013 回答
8
从 Laravel 配置中检索公用文件夹路径的最佳方法是使用以下函数:
$myPublicFolder = public_path();
$savePath = $mypublicPath."enter_path_to_save";
$path = $savePath."filename.ext";
return File::put($path , $data);
没有必要拥有所有变量,但这只是为了演示目的。
希望这会有所帮助,GRnGC
于 2014-02-27T14:06:07.570 回答
0
我认为您正在寻找的是asset(''); 创建符号链接后,您可以使用asset('storage')。
于 2021-10-26T19:01:30.553 回答