日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

黑马lavarel教程---7、文件上传

發布時間:2025/7/14 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 黑马lavarel教程---7、文件上传 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

黑馬lavarel教程---7、文件上傳

一、總結

一句話總結:

在laravel里面實現文件的上傳是很簡單的,壓根不用引入第三方的類庫,作者把上傳作為一個簡單的http請求看待的。

?

1、在lavarel中作者把文件上傳看做什么?

一個簡單的http請求

在laravel里面實現文件的上傳是很簡單的,壓根不用引入第三方的類庫,作者把上傳作為一個簡單的http請求看待的。

?

2、要想表單能夠上傳(此處不考慮異步方式),則表單應該具備哪些要求?

a. 具有form標簽,method必須為post,必須具備enctype屬性;
b. 至少有一個input類型為file類型; 得具備一個提交按鈕;

?

3、lavarel文件上傳錯誤狀態碼error的取值?

0-7,但是沒有5,0表示成功。

?

4、文件上傳的本質(核心思想)?

文件的移動,move_upload_file

?

5、文件上傳步驟?

a. 先去判斷文件是否正常和存在
b. 獲取相關的信息(可選)
c. 保存文件(其實就是移動文件到新的目錄)

?

6、關于項目中使用路徑的說明?

如果路徑是給php代碼使用的,則路徑建議使用“./”形式;如果路徑是給瀏覽器使用的則建議使用“/”形式。

?

?

7、獲取文件上傳錯誤提示的代碼示例?

$request -> file(‘avatar’) -> getErrorMessage();

?

?

?

二、文件上傳

在laravel里面實現文件的上傳是很簡單的,壓根不用引入第三方的類庫,作者把上傳作為一個簡單的http請求看待的。使用時可以參考手冊。

?

(1)修改表結構,添加一個字段。

ALTER TABLE `member`

ADD COLUMN `avatar`? varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL AFTER `email`;

?

?

?

?

(2)創建添加數據的表單和路由

添加路由:/home/test/test14

?

?

?

?

創建展示視圖的方法并且展示視圖

?

?

?

?

創建視圖頁面并且添加csrf_token

回顧:要想表單能夠上傳(此處不考慮異步方式),則表單應該具備哪些要求?

答:

?????? a. 具有form標簽,method必須為post,必須具備enctype屬性;

?????? b. 至少有一個input類型為file類型;

?????? c. 得具備一個提交按鈕;

?

?

?

?

(3)在控制器中,添加上傳業務處理邏輯

【此處操作建議查看手冊】??

?

?

?

關于上傳錯誤狀態碼error的取值:0-7,但是沒有5,0表示成功。

?

問題:請你說出文件上傳的本質(核心思想)?文件的移動,move_upload_file

?

?

?

?

更多的方法請訪問:

http://api.symfony.com/3.0/Symfony/Component/HttpFoundation/File/UploadedFile.html

?

思路:

???????? a. 先去判斷文件是否正常和存在

???????? b. 獲取相關的信息(可選)

???????? c. 保存文件(其實就是移動文件到新的目錄)

?

獲取文件的方式:既可以通過file方法來獲取也可以通過動態屬性來獲取,二選一。

?

(4)創建上傳文件的保存路徑

?

?

?

?

?

?

?

?

關于項目中使用路徑的說明:

如果路徑是給php代碼使用的,則路徑建議使用“./”形式;如果路徑是給瀏覽器使用的則建議使用“/”形式

?

為了保存的文件不被覆蓋,建議在保存文件的同時對文件名進行盡量唯一的重命名:

?

?

?

?

(5)注意:如果使用的是create方法添加數據到數據表中,則這里還要修改一下模型里面的一個fillable屬性,代表允許插入到數據庫的字段

?

?

?

?

將數據寫入數據表:

?

?

?

數據表的結果:

?

?

?

?

如果上傳出現了錯誤,一定要使用獲取錯誤信息的方法:

?

?

?

$request -> file(‘avatar’) -> getErrorMessage();

?

?

?

?

?

?

?

?

轉載于:https://www.cnblogs.com/Renyi-Fan/p/11561249.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的黑马lavarel教程---7、文件上传的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。