第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

文件上傳

1.前言

ThinkPHP 中內(nèi)置的上傳只是將文件上傳到本地服務(wù)器,會在 runtime/storage 目錄下生成以當(dāng)前日期為目錄名的子目錄,以微秒時(shí)間的 md5 值為文件名的文件,本小節(jié)主要介紹如何使用 ThinkPHP 內(nèi)置的文件上傳功能,在實(shí)際項(xiàng)目中如果文件上傳比較多,一般會單獨(dú)存儲在第三方存儲平臺。

2.新建注冊路由

//文件上傳界面
Route::get('file','file/index');

//文件上傳
Route::post('upload','file/upload');

如下圖所示:
圖片描述

3.新建控制器和文件上傳界面方法

    /**
     * 文件上傳界面
     * @return string
     */
    public function index(){
        return View::fetch("file/index");
    }

如下圖所示:
圖片描述

Tips: 其中 View::fetch 表示調(diào)用模板引擎。

4.新建 html 模板

如下圖所示,在 view\file 目錄中新建 index.html 模板文件:
圖片描述

Tips: 模板文件可根據(jù)自己需求定義,css、js 文件可以按照圖中格式引入,從圖中可以看到注冊信息提交至 file/upload中。

5.定義文件上傳處理方法

     /**
     * 文件上傳接收
     * @return \think\response\Json
     */
    public function upload(){

        //接收文件
        $file = request()->file('file');
        halt($file);
        //將文件上傳到服務(wù)器文件目錄
        $filename = Filesystem::putFile('study',$file);

        return json("保存成功");
    }

文件上傳界面如下:
圖片描述

如下圖所示,是上傳之后的文件:
圖片描述

Tips: 文件上傳之后的文件名是經(jīng)過編碼之后的名稱,一般具有唯一性,目的是為了防止重名文件被覆蓋的問題。

6.視頻演示

7.小結(jié)

本小節(jié)介紹了如何使用 ThinkPHP 內(nèi)置的文件上傳方法,可以很方便的將文件上傳至指定的目錄,然后文件名是經(jīng)過唯一性編碼處理的,目的是為了防止重名文件覆蓋造成文件丟失,需要注意的是實(shí)際項(xiàng)目中如果文件數(shù)量特比多可能造成服務(wù)器空間不足,導(dǎo)致服務(wù)器無法正常工作,這種情況建議使用第三方存儲服務(wù)器,主服務(wù)器只存儲文件的路徑即可。