Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用laravel5存储用户文件_Php_Laravel 5 - Fatal编程技术网

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);