为了账号安全,请及时绑定邮箱和手机立即绑定

如何将文件上传到 yii basic 中上传文件夹中的服务器。我试过了,但它的 npt 有效

如何将文件上传到 yii basic 中上传文件夹中的服务器。我试过了,但它的 npt 有效

PHP
斯蒂芬大帝 2021-11-13 16:42:21
它没有将文件上传到项目中的文件夹。如何上传文件?public function actionCreate()    {        $model = new UploadForm();        if ($model->load(Yii::$app->request->post()) && $model->save()) {            $filename=$model->filename;            $model->file= UploadedFile::getInstance($model,'file');            $model->file->saveAs('uploads/' .$filename.'.'.$model->file->extension );
查看完整描述

3 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

它不上传,因为你调用$model->save()添加之前value到$model->file现场。


代码应该看起来像


if ($model->load(Yii::$app->request->post())) {

    $filename = $model->ltkcnt_contracts_name;

    $model->file = UploadedFile::getInstance($model, 'file');

    if ($model->save()) {

        $model->file->saveAs('uploads/' . $filename . '.' . $model->file->extension);

    }

}

您应该阅读这篇文章以获取更多信息。


查看完整回答
反对 回复 2021-11-13
?
慕仙森

TA贡献1827条经验 获得超7个赞

声明一个属性以在模型类中存储文件名。还要为此属性声明文件验证规则,以确保上传的文件具有特定的扩展名。


然后,在控制器类中定义一个操作方法来收集用户提交的数据。


    $model = new UploadForm();

    if(isset(Yii::$app->request->post()))

    {

        $model->attributes=Yii::$app->request->post();

        $model->file=UploadedFile::getInstance($model,'file');

        if($model->save())

        {

            $model->file->saveAs('path/to/localFile');

        }

    }


查看完整回答
反对 回复 2021-11-13
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

<?php


namespace app\models;

use Yii;

use yii\web\UploadedFile;


class Contracts extends \yii\db\ActiveRecord

{


     public $file;


    public static function tableName()

    {

        return 'uploads_table';

    }



    public function rules()

    {

        return [


            [['file'], 'file'],


        ];

    }



    public function attributeLabels()

    {

        return [


            'file' => 'Files',

        ];

    }


}


查看完整回答
反对 回复 2021-11-13
  • 3 回答
  • 0 关注
  • 120 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信