我無法將文件保存到用戶上傳文件時登錄的正確用戶名。使用laravel5存儲用戶文件
我有這樣的語法:
$file->move('../UserFolders/{[username}]/photos/', $name);
所以會發生什麼是laravel創建一個文件夾,名爲:
的
{[用戶名]]而不是指向登錄用戶名我無法將文件保存到用戶上傳文件時登錄的正確用戶名。使用laravel5存儲用戶文件
我有這樣的語法:
$file->move('../UserFolders/{[username}]/photos/', $name);
所以會發生什麼是laravel創建一個文件夾,名爲:
的
{[用戶名]]而不是指向登錄用戶名因爲你的語法你應該這樣做是錯誤的
$file->move('../UserFolders/'.$username.'/photos/', $name);
因爲你在做t他在你的控制器中因此只能用$來訪問變量,並且你必須將它與字符串連接起來
你的語法可能不正確。
$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);
感謝您的回答,最後一個解決方案效果很好,但我仍然對該視圖有問題,當我點擊該圖片的列表時,鏈接不會反映會話的實際用戶名。 – Mark
這將是另一個問題的問題。如果不查看代碼或者知道*鏈接*沒有反映出* *,我想冒險說您需要將圖片的所有者存儲在某處並顯示該值 - * not *'Auth :: user() - > name是當前*會話所有者 - 在鏈接中。但我只是在猜測,而且我可能是錯的。在一個不完全不相關的說明中,我能否提出一些問題技巧提示,讓你感興趣? – LSerni
好吧..你可以看看這個鏈接中的代碼:http://pastebin.com/U1t6CJj7 – Mark
謝謝您的回答,不過,laravel正在創建一個文件夾,名爲:{{名}}任何想法 – Mark
編輯我的答案,你確定{{$ username}}是一個有效的變量,如果你試圖訪問當前登錄用戶的名字,然後使用{{Auth :: user() - > name}},那麼用戶名將存儲在該變量中。 –
,它創建了一個名稱爲{{$ username}}的文件夾,我嘗試了{{Auth :: user() - > name}}和{{Auth :: user() - > username}},但仍然沒有任何東西 – Mark