使用laravel5存储用户文件

时间:2015-06-14 16:53:34

标签: php laravel-5

我在将文件保存为用户上传文件时登录的正确用户名时遇到问题。

我有这样的语法:

 $file->move('../UserFolders/{[username}]/photos/', $name);

那么laravel会创建一个名为:

的文件夹

{[username}],而不是指向记录的用户名

2 个答案:

答案 0 :(得分:2)

您的语法可能不正确。

$file->move('../UserFolders/{[username}]/photos/', $name);
                                      ^^
                                        `-- here

打开花括号,打开方括号,然后关闭花括号。尝试将它们嵌套为{[username]}(我假设{[]}是一些Laravel魔法,由move()解码):

$file->move('../UserFolders/{[username]}/photos/', $name);

或者$username确实在本地范围内可用,只需

$file->move("../UserFolders/{$username}/photos/", $name);

(如果创建了一个文件夹' {[username]}'那么就没有这样的Laravel魔法,你应该查看文档。)

如果您将代码放在单引号中,请记住代码不会被评估。您需要将其括在双引号

$file->move("../UserFolders/{Auth::user()->name}/photos/", $name);

$folderName = Auth::user()->name;
$file->move("../UserFolders/{$folderName}/photos/", $name);

答案 1 :(得分:1)

因为您的语法错误,所以应该

 $file->move('../UserFolders/'.$username.'/photos/', $name);

因为您在控制器中执行此操作,因此只能使用$访问变量,并且必须将其与字符串连接