我是一个初学者,请原谅我使用此问题return File::put($path , $data);
在Laravel上的公共文件夹中创建文件。我使用了控制器中的这段代码,我需要知道它的值$path
。
您在使用Laravel 3还是Laravel 4?
—
劳伦斯
我是一个初学者,请原谅我使用此问题return File::put($path , $data);
在Laravel上的公共文件夹中创建文件。我使用了控制器中的这段代码,我需要知道它的值$path
。
Answers:
使用 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');
public_path()
,实际上实际上是没有用的,它只是假设您所有的公共文件都位于一个名为“ public”的目录中,即使它们不是。例如,我总是必须将默认的“ public”目录更改为“ public_html”(与我的服务器一致)。Laravel没有意识到这一点。因此,请勿依靠此来明智地确定您的公共目录实际是什么。我只是在使用,$_SERVER['DOCUMENT_ROOT'];
除非有人可以建议我为什么不这样做?
您可以使用base_path()获取应用程序的基础-然后将公用文件夹添加到该应用程序中:
$path = base_path().'/public';
return File::put($path , $data)
注意:在允许人们将文件上传到您的public_html根目录中时要非常小心。如果他们上传自己的index.php文件,他们将接管您的网站。