【发布时间】:2014-03-18 05:49:01
【问题描述】:
我正在尝试将图像上传到需要公开显示的 Laravel 应用程序中。但是,我似乎只能上传到应用程序根目录中的文件夹。任何上传到公共目录的尝试都会引发以下错误:
protected function getTargetFile($directory, $name = null)
{
if (!is_dir($directory)) {
if (false === @mkdir($directory, 0777, true)) {
throw new FileException(sprintf('Unable to create the "%s" directory', $directory));
我假设这意味着 Laravel 将阻止我上传到任何可公开访问的文件。我实际上很喜欢这样,但是,我如何链接到公共目录之外的图像,我试图../我的方式离开公共文件夹,但适当地,这不起作用。
或者,任何可以让我直接上传到公用文件夹的东西也很棒。
如果有帮助,这是我将文件放入公共文件夹的控制器方法:
$thumbnail_file = Input::file('thumbnail');
$destinationPath = '/uploads/'. str_random(8);
$thumbnail_filename = $thumbnail_file->getClientOriginalName();
$uploadSuccess = Input::file('thumbnail_url')->move($destinationPath, $thumbnail_filename);
【问题讨论】:
-
只是为了敲响一些钟声。您可以使用 0755 作为权限模式,如果您想创建随机文件或文件夹名称,您可以使用 time() 函数。
标签: php laravel laravel-4 image-uploading