Php 使用laravel5存储用户文件
当用户上传文件时,我无法将文件保存到正确登录的用户名 我有以下语法:Php 使用laravel5存储用户文件,php,laravel-5,Php,Laravel 5,当用户上传文件时,我无法将文件保存到正确登录的用户名 我有以下语法: $file->move('../UserFolders/{[username}]/photos/', $name); 因此,laravel创建了一个名为: {[username}]而不是指向记录的用户名,因为您的语法错误,您应该这样做 $file->move('../UserFolders/'.$username.'/photos/', $name); 由于您在控制器中执行此操作,因此变量只能用$访问,并且
$file->move('../UserFolders/{[username}]/photos/', $name);
因此,laravel创建了一个名为:
{[username}]而不是指向记录的用户名,因为您的语法错误,您应该这样做
$file->move('../UserFolders/'.$username.'/photos/', $name);
由于您在控制器中执行此操作,因此变量只能用$访问,并且必须将其与字符串连接起来,因此语法可能不正确
$file->move('../UserFolders/{[username}]/photos/', $name);
^^
`-- here
打开一个花括号,打开一个方括号,然后关闭花括号。尝试将它们嵌套为{[username]}
(我假设{[]}是某种拉拉威尔魔法,由move()
解码):
或者如果$username
确实在本地范围内可用,只需
$file->move("../UserFolders/{$username}/photos/", $name);
(如果创建了一个文件夹“{[username]}”,那么就没有类似的Laravel magic,您应该检查文档)
请记住,如果将代码放在单引号中,则不会对其求值。您需要用双引号将其括起来:
$file->move("../UserFolders/{Auth::user()->name}/photos/", $name);
或
感谢您的回答,但是,laravel正在创建一个名为:{{{username}的文件夹,任何ideated my answer,您确定{{$username}是一个有效的变量,其中存储了username,如果您试图访问当前登录用户的名称,那么请使用{Auth::user()->name}。再次,它创建了一个名为{$username}的文件夹,我尝试了{{Auth::user()->name}}和{{Auth::user()->username}但是仍然没有谢谢你的回答,上一个解决方案非常有效,但是我仍然对视图有一个问题,当我得到我点击的图片列表时,链接没有反映会话的实际用户名。这对于另一个问题很重要。如果不看代码或者不知道链接如何反映…,我会您可能需要将图片的所有者存储在某个位置并显示该值,而不是
Auth::user()->name
链接中的当前会话所有者是谁。但我只是猜测,我很可能是错的。从一个并非完全无关的方面来说,我能让你对一些提问技巧感兴趣吗?好的。你能看看这个链接中的代码吗:我有。不要误会,但是--我相信你需要更多关于“低l”的经验在继续使用Laravel之前,请先升级PHP。在这里,您使用的是一个$foldername
变量,该变量在到达列表刀片时早已被遗忘,并且可能计算为空字符串。在这种情况下,您需要将其保存在存储
控制器中-例如,在图像
cla中添加一个所有者
字段ss并从Auth::user()初始化它
-并在视图中检索您现在使用的字段$foldername
。事实上,您的代码有一股淡淡的哈哈味。我喜欢您的答案,我非常乐意接受。事实上,我对这个框架和PHP都是新手,所以我正在尽最大努力理解一些事情,而且我们应该知道,如果一个人没有犯错误,那么我怎么能理解呢不管怎样,他会进步并从错误中吸取教训…谢谢你的意见,兄弟
$file->move("../UserFolders/{Auth::user()->name}/photos/", $name);
$folderName = Auth::user()->name;
$file->move("../UserFolders/{$folderName}/photos/", $name);