Yii2使用內建的UploadedFile實現的檔案上傳_php執行個體

來源:互聯網
上載者:User
我們先來看看在yii2中支援的圖片上傳怎麼進行處理的。

首先我們建立model\Upload.php檔案

<?phpnamespace backend\models;use Yii;use yii\web\UploadedFile;class Upload extends \yii\db\ActiveRecord{/*** @var UploadedFile|Null file attribute*/public $file;/*** @return array the validation rules.*/public function rules(){return [[["file"], "file",],];}}

下面我們看看view層是怎麼渲染的

<?phpuse yii\widgets\ActiveForm;$form = ActiveForm::begin(["options" => ["enctype" => "multipart/form-data"]]); ?><?= $form->field($model, "file")->fileInput() ?>Submit<?php ActiveForm::end(); ?>

最後實現controller層的實現

namespace backend\controllers;use backend\models\Upload;use yii\web\UploadedFile;class ToolsController extends \yii\web\Controller{/*** 檔案上傳* 我們這裡上傳成功後把圖片的地址進行返回*/public function actionUpload (){$model = new Upload();$uploadSuccessPath = "";if (Yii::$app->request->isPost) {$model->file = UploadedFile::getInstance($model, "file");//檔案上傳存放的目錄$dir = "../../public/uploads/".date("Ymd");if (!is_dir($dir))mkdir($dir);if ($model->validate()) {//檔案名稱$fileName = date("HiiHsHis").$model->file->baseName . "." . $model->file->extension;$dir = $dir."/". $fileName;$model->file->saveAs($dir);$uploadSuccessPath = "/uploads/".date("Ymd")."/".$fileName;}}return $this->render("upload", ["model" => $model,"uploadSuccessPath" => $uploadSuccessPath,]);}}

以上所述是小編給大家介紹的Yii2使用內建的UploadedFile實現的檔案上傳的相關知識,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對指令碼之家網站的支援!

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.