iT邦幫忙

0

請問Laravel上傳檔案的問題

我之前都是用Total Commander然後FTP來上傳網站檔案的
最近使用Laravel來製作,才發現不能像之前一樣上傳
請問laravel上傳檔案有什麼方法嗎?
https://ithelp.ithome.com.tw/upload/images/20191117/20120427ZdKahZYw9U.jpg

https://ithelp.ithome.com.tw/upload/images/20191117/20120427wHZsicyaoF.jpg

dragonH iT邦超人 5 級 ‧ 2019-11-17 15:38:57 檢舉
所以是什麼錯誤訊息或是情況呢
會出現403或是Forbidden的錯誤訊息

2 個回答

1
小魚
iT邦大師 1 級 ‧ 2019-11-17 15:26:48
最佳解答

(修改回答)
上傳Laravel方法並沒有不同,
問題應該出在FTP Server的設定,
FTP上傳下載的話我習慣用filezilla,
你也可以考慮看看.

看更多先前的回應...收起先前的回應...
dragonH iT邦超人 5 級 ‧ 2019-11-17 15:37:21 檢舉

你們說的看起來是不一樣的東西XD

小魚 iT邦大師 1 級 ‧ 2019-11-17 17:38:30 檢舉

喔喔, 原來是把檔案傳到Server上去,
剛好正在研究,
就對號入座了 XD

dragonH iT邦超人 5 級 ‧ 2019-11-17 17:53:18 檢舉

/images/emoticon/emoticon37.gif

是直接整個專案上傳嗎?
https://ithelp.ithome.com.tw/upload/images/20191117/20120427jtDDpwr67L.jpg
我整個專案上傳的話就會變成這樣無法讀取
https://ithelp.ithome.com.tw/upload/images/20191117/20120427iT7qHX3AR8.jpg

小魚 iT邦大師 1 級 ‧ 2019-11-17 19:39:22 檢舉

Laravel執行的根資料夾是public資料夾,
所以你要把根目錄改到public資料夾,
或是輸入 pifa-taipei.com.tw/public 就可以看到正常的畫面,
不過建議是你要想辦法把根目錄改到public,
要不然網站都被人看光光了.
(不過看你這個畫面應該是看不到,
但還是建議根目錄改到public)

我如果直接把httpd.conf設定DocumentRoot。改成DocumentRoot “/xampp/htdocs/laravel/public"
這樣能算是改根目錄了嗎?

小魚 iT邦大師 1 級 ‧ 2019-11-18 00:00:27 檢舉

這樣應該可以,
不過改完之後你要重啟apache.

https://ithelp.ithome.com.tw/upload/images/20191118/20120427DspnJCDGcI.jp

很多都無法傳輸上去,也正如您所說得一樣,多打上/public也是無法讀取

小魚 iT邦大師 1 級 ‧ 2019-11-18 08:15:39 檢舉

無法傳輸是另外一個問題,
你要把問題說清楚.

如果對方是Linux主機可能還會有權限的問題要處理,
需要SSH連到主機裡面去修改資料夾權限,
我都是直接改成777 XD
不知道比較正式的要怎麼修改.
Linux又是另外一門學問了...

不好意思,因為一開始用Total Commander的時候沒有出現無法傳輸,後來使用filezilla才有出現才有出現這個訊息。
所以這個問題主要是主機那邊的權限問題是嗎?

小魚 iT邦大師 1 級 ‧ 2019-11-18 14:02:03 檢舉

只能用猜測的,
問題是你有嘗試過修改權限嗎?

小魚大謝謝你!這幾天跑去找老師修改了那邊主機的權限,後來就可以囉,非常感謝!

0

Laravel的運行指定跟一般其它框架的運做方式有點不太一樣。
因為Laravel有故意將它的運行的目錄放在非web server能運行的地方。
所以在指定上得要用特別的指定方式。

也就是說,假設平常我們一般web 路徑是放在 home/user/public_html
這樣的路徑。你如果是直接將整個專案包放到這個路徑。你就會得到無法運行。
這時候就得自行去調整一下指定的目錄路徑到 home/user/public_html/public
才行。

可是很多人會碰到一個問題。很多用空間主機。根本無法將路徑指定到其它地方。那該怎麼辦??
說真的。我還沒研究到那邊。因為我是自已的主機,可以指定路徑。就一直沒研究這一塊。

但具我自已摸索的。Laravel好像有發布的方式。可以幫你將寫好的public變成一個可以放在web server root上的方式。
就方面我目前還沒摸索出來。但你可以往這方面去查看。或是看看有無Laravel高手能幫忙。

非常感謝你,我會往目錄路徑的方向尋找

我要發表回答

立即登入回答