Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在控制器中获取通过Yii2中的yii\helpers\Html::fileInput上传的上传文件_Php_Yii_Yii2 - Fatal编程技术网

Php 如何在控制器中获取通过Yii2中的yii\helpers\Html::fileInput上传的上传文件

Php 如何在控制器中获取通过Yii2中的yii\helpers\Html::fileInput上传的上传文件,php,yii,yii2,Php,Yii,Yii2,在我的表格中,我使用了以下代码: <?php echo Html::fileInput('imageFile', '', array('id' => 'contentForm_imageFile' )) ?> $newsModel->imageFile=UploadedFile::getInstance(Yii::$app->request->post('imageFile'), 'imageFile'); $newsModel->imageF

在我的表格中,我使用了以下代码:

<?php echo Html::fileInput('imageFile', '', array('id' => 'contentForm_imageFile' )) ?>
$newsModel->imageFile=UploadedFile::getInstance(Yii::$app->request->post('imageFile'), 'imageFile');
    $newsModel->imageFile->saveAs( 'uploads/'.$newsModel->file->basename.'.'.$newsModel->file->extension );
但我在使用上述代码保存文件时遇到此错误:

在null上调用成员函数saveAs()

由于
yii\web\UploadedFile
的API文档中指出:

getInstance()返回给定模型属性的上载文件, 该文件应使用 yii\widgets\ActiveField::fileInput()


那么,我如何才能获得通过
yii\helpers\Html::fileInput

上传的文件?以下是一个官方示例:

请仔细检查您的代码:

  • 首先,表单标签中是否有
    enctype=“multipart/form data”
  • 接下来,请参见获取getInstance的参数。它需要模型实例作为第一个参数,字段名作为第二个参数
  • 检查您的服务器是否收到 您发送的文件。只是
    var\u转储($\u文件)

  • 以下是针对您的情况的官方示例:

    请仔细检查您的代码:

  • 首先,表单标签中是否有
    enctype=“multipart/form data”
  • 接下来,请参见获取getInstance的参数。它需要模型实例作为第一个参数,字段名作为第二个参数
  • 检查您的服务器是否收到 您发送的文件。只是
    var\u转储($\u文件)

  • 要形成,请添加“enctype”=>“多部分/表格数据”

    鉴于:

    <?= $form->field($model, 'imageFile')->fileInput(['id' => 'contentForm_imageFile']) ?>
    

    要形成,请添加“enctype”=>“多部分/表格数据”

    鉴于:

    <?= $form->field($model, 'imageFile')->fileInput(['id' => 'contentForm_imageFile']) ?>
    

    您可以不使用模型获取上载的文件


    您可以不使用模型获取上载的文件

    $newsModel->imageFile = UploadedFile::getInstance($newsModel, 'imageFile');
    $newsModel->imageFile->saveAs( 'uploads/'.$newsModel->file->basename.'.'.$newsModel->file->extension );
    
    $newsModel->imageFile = UploadedFile::getInstanceByName('imageFile');
    $newsModel->imageFile->saveAs( 'uploads/'.$newsModel->file->basename.'.'.$newsModel->file->extension );