日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

隨著互聯網的不斷發展,越來越多的網站需要實現文件上傳功能。在ThinkPHP6中,實現文件上傳功能也變得非常簡單。今天我們就來介紹一下如何在ThinkPHP6中實現文件上傳功能。

一、配置文件上傳參數

在開始實現文件上傳功能之前,首先需要在ThinkPHP6的配置文件中設置文件上傳的參數。找到項目的配置文件config/app.php,然后在params數組中添加以下代碼:

'upload' => [
    'maxSize' => 1024 * 1024 * 10, //文件上傳的最大大小
    'exts' => ['jpg', 'gif', 'png', 'jpeg'], //允許上傳的文件后綴
    'rootPath' => app()->getRootPath() . 'public/uploads/', //文件上傳的根目錄
    'savePath' => '', //文件保存的子目錄
    'subName' => ['date', 'Ymd'], //子目錄名稱的命名規則
],

登錄后復制

這里我們設置了文件上傳的最大大小為10MB,允許上傳的文件后綴為jpg、gif、png、jpeg四種格式,文件上傳的根目錄為public/uploads/,同時設置了子目錄名稱的命名規則為按日期(年月日)來命名。

二、實現文件上傳功能

在配置好文件上傳參數之后,就可以開始實現文件上傳功能了。在控制器中編寫以下代碼:

public function upload()
{
    $file = request()->file('image');
    if ($file) {
        $info = $file->validate(['ext' => 'jpg,png,gif,jpeg'])->move(config('upload.rootPath'));
        if ($info) {
            $data = [
                'code' => 0,
                'msg' => '上傳成功',
                'url' => config('upload.rootPath') . $info->getSaveName(),
            ];
        } else {
            $data = [
                'code' => 1,
                'msg' => $file->getError(),
                'url' => '',
            ];
        }
    } else {
        $data = [
            'code' => 1,
            'msg' => '請選擇要上傳的文件',
            'url' => '',
        ];
    }

    return json($data);
}

登錄后復制

這里我們首先通過request()->file(‘image’)方法獲取上傳的文件,判斷文件是否存在;接著使用validate()方法對上傳的文件后綴進行驗證,確保用戶上傳的文件格式正確;最后使用move()方法進行文件上傳,并返回上傳成功或上傳失敗的結果。

三、頁面實現

最后,我們需要在頁面上實現文件上傳功能,代碼如下:

<form id="upload-form" action="<?php echo url('upload'); ?>" method="post" enctype="multipart/form-data">
    <input type="file" name="image" id="image" accept="image/jpeg,image/png,image/gif">
</form>
<button id="btn-upload" type="button">上傳</button>

<script>
$(function() {
    $('#btn-upload').click(function() {
        var formData = new FormData($('#upload-form')[0]);
        $.ajax({
            url: $('#upload-form').attr('action'),
            type: 'post',
            data: formData,
            contentType: false,
            processData: false,
            success: function(res) {
                if (res.code === 0) {
                    alert(res.msg);
                    $('#image').val('');
                } else {
                    alert(res.msg);
                }
            },
            error: function(xhr, status, error) {
                alert('上傳錯誤:' + error);
            }
        });
    });
});
</script>

登錄后復制

這里我們在頁面上添加了一個form表單,上傳文件的input標簽的name值為’image’,接著使用jQuery的ajax()方法將form數據以FormData方式上傳到控制器中,在上傳成功或失敗后進行相應的提示。

四、總結

通過以上代碼實現,我們已經成功在ThinkPHP6中實現文件上傳功能。同時,我們也要注意安全性,確保用戶上傳的文件格式正確、大小合適,避免上傳的文件對系統造成危害,保障用戶和系統的安全。

以上就是如何實現ThinkPHP6中的文件上傳功能的詳細內容,更多請關注www.xfxf.net其它相關文章!

分享到:
標簽:thinkphp 實現 文件上傳
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定