欢迎您的光临,本博所发布之文章皆为作者亲测通过,如有错误,欢迎通过各种方式指正。由于本站位于香港虚拟主机,故速度比较慢。

文摘  Yii2文件上传、自带的文件上传功能使用说明

PHP框架 本站 270 3评论

我们先来看看在yii2中支持的图片上传怎么进行处理的。


首先我们创建model\Upload.php文件

<?php
namespace 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层是怎么渲染的

<?php
use yii\widgets\ActiveForm;
$form = ActiveForm::begin(["options" => ["enctype" => "multipart/form-data"]]); 
?>
<?= $form->field($model, "file")->fileInput() ?>
<button>Submit</button>
<?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实现的文件上传。


原文地址:http://www.manks.top/yii2_uploaded_file.html

转载请注明: ITTXX.CN--分享互联网 » Yii2文件上传、自带的文件上传功能使用说明

最后更新:2018-11-23 09:36:55

赞 (1) or 分享 ()
游客 发表我的评论   换个身份
取消评论

表情
(3)个小伙伴在吐槽
  1. 这个站是不是yii写的
    游客2018-11-22 17:54 (5个月前) 回复
    • 是的,Yii
      游客 2018-11-23 09:36(5个月前)

  2. 游客2018-11-13 13:41 (6个月前) 回复