首页 文章

Laravel将文件上传到正确的目录

提问于
浏览 1736
1

我上传文件好了 . 只有事实证明,在我的情况下,起始目录是公共的,这导致每个人都可以访问这些文件,因为它们应该位于受先前身份验证保护的目录中,即在App下 .

所以,当我这样做时:

$file = Input::file('fichero');
$destinationPath = 'uploads/folder';
$file->move($destinationPath);

// Create model
$model = new Model;
$model->filename = $file->getClientOriginalName();
$model->destinationPath = $destinationPath;

该文件保存在这里:localh ... / myweb / public /

这是我所有应用程序文件所在的App父文件夹之外的内容 .

我可以想象进入该目录的事实是因为它在配置文件中采用了默认值,即localhost / laravel / public / index.php /

所以,写一些像

$file->move(base_path().'/uploadfolder/subdirectory/', $newname);

将从固定为base_path开始,但base_path需要类似localhost / mywebname / public .

那么,你如何编写路径以便它进入App下的目录而不是Public下的目录?

我希望我不会问一个愚蠢的问题,但我已经尝试了几天,我已经在这里阅读了3个相关的问题 .

谢谢

1 回答

  • 0

    你可以使用:

    app_path() // Path to the 'app' folder
    app_path('controllers/admin') // Path to the 'app/controllers/admin' folder
    

    这将返回本地文件系统路径,您应该将上传的图像放在 public/... 文件夹中 .

相关问题