如何获取公共目录?

8 浏览
0 Comments

如何获取公共目录?

我在这里是个新手,请原谅我问这个问题。我正在使用return File::put($path, $data);在Laravel的public文件夹中创建一个文件。我从控制器中使用了这段代码,我需要知道$path的值应该是什么样的。

0
0 Comments

问题出现的原因是在Laravel 4中,获取public目录的方法不够简便。解决方法是在helper.php文件中添加public_path()函数。

在Laravel 4中,要想获取public目录的路径需要进行一些繁琐的操作。因此,有人在GitHub上提出了这个问题,希望能够找到更简单的方法。

幸运的是,Laravel开发团队听到了用户的声音,并在后续版本中添加了public_path()函数。这个函数可以直接返回public目录的路径,使得获取public目录变得非常简单。

要使用public_path()函数,只需要在代码中调用即可。例如,如果想要获取public目录下的css文件夹路径,可以这样写:

public_path('css')

这个问题的解决方法已经被整理到了Laravel的helper.php文件中。你可以在support文件夹下的helper.php文件中找到这个函数的具体实现代码。

总结起来,通过在Laravel 4中添加public_path()函数,开发者可以更加方便地获取public目录的路径,从而更好地处理相关的文件操作。

0
0 Comments

问题出现的原因是使用了未定义的函数base_path()。解决方法是确保使用的是最新版本的Laravel框架,因为较早版本可能没有定义base_path()函数。

在Laravel中,可以使用base_path()函数获取应用程序的根目录,然后将公共文件夹添加到其中。但是要非常小心允许用户将文件上传到public_html根目录中,因为如果他们上传自己的index.php文件,就会接管你的网站。

以下是解决方法的示例代码:

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

注意:为了保证安全性,建议将上传文件的目录设置在public文件夹的子目录中,而不是直接上传到public文件夹中。这样可以避免用户上传恶意文件来接管网站。

0
0 Comments

如何获取公共目录?

有人问如何获取公共目录,并提供了一段代码作为参考。代码中使用了public_path()函数来获取公共目录的路径。除此之外,还提供了其他几个函数用于获取不同目录的路径,如base_path()用于获取项目根目录的路径,app_path()用于获取app文件夹的路径,storage_path()用于获取storage文件夹的路径。

然后有人评论说public_path()函数实际上并没有太大用处,因为它假设所有的公共文件都在一个名为"public"的目录中,即使实际情况并非如此。他举例说,他总是需要将默认的"public"目录更改为"public_html"(与他的服务器保持一致),但Laravel并不识别这一点。因此,不能依赖public_path()函数来确定公共目录的真实位置。他表示自己会使用$_SERVER['DOCUMENT_ROOT'];来获取公共目录的路径,除非有人能提出不应该这样做的理由。

下方有人回复说public_path()函数并不是无用的,只是你没有按照它的设计意图来使用。如果你想更改公共目录的路径,你需要告诉Laravel这一点。

要获取公共目录的路径,可以使用public_path()函数。如果需要更改公共目录的路径,可以参考相关链接中的解决方法。

以上是关于如何获取公共目录的原因和解决方法的整理。

0