2016-05-04 13 views
0

yii2とKartik fileInput拡張子を使用して複数の画像をアップロードする場合、この小さな問題があります。yii2とkartik fileInput拡張子を使用して複数の画像をアップロードする

これはモデルです:

public function actionCreate_news() 
{ 

    $model = new News(); 

    if ($model->load(Yii::$app->request->post())) { 
     $model->file = UploadedFile::getInstances($model, 'file'); 

     var_dump($model->file); 
     die();}} 

今私はちょうどVARダンプ午前:あなたは私がMAXFILESを使用していますが、それは私のため

コントローラーを働いていたdidntの気づくことができるよう

public $file; 

public static function tableName() 
{ 
    return 'news'; 
} 

public function rules() 
{ 
    return [ 
     [['news_desc', 'news_context', 'news_first_source', 'news_second_source', 'news_third_source', 'news_responsibe_party', 'news_first_testimony', 'news_second_testimony', 'news_body', 'news_lang'], 'string'], 
     [['news_gov_id', 'news_typ_id', 'news_is_in_slider', 'news_is_act', 'news_is_del'], 'integer'], 
     [['news_happened_date', 'news_created_date', 'file'], 'safe'], 
     [['news_typ_id', 'news_lang'], 'required'], 
     [['news_title'], 'string', 'max' => 255], 
     [['file'], 'file','maxFiles' => 6], 
    ]; 
} 

私が得るファイルは問題ですが、1つのファイルしかアップロードされていません。

ビュー:私は最後のファイルだけが

をsubmitedされるフォームの送信]を押したときに

echo FileInput::widget([ 
      'model' => $model, 
      'attribute' => 'file[]', 
      'name' => 'file[]', 
      'options' => [ 
       'multiple' => 'true', 
       'accept' => 'image/*' 
      ], 
      'pluginOptions' => [ 
       'showCaption' => false, 
       'showRemove' => false, 
       'showUpload' => false, 
       'allowedFileExtensions' => ['jpg','jpeg','png'], 
       'overwriteInitial' => false 
      ], 
     ]); 

私はこの問題についてのすべてのものを読んで、すべての可能な解決策を試してみましたが、問題はまだそこに

でいます

ありがとう

+0

もフォームコードを表示してください! –

答えて

0

はあなたので、私は、ウィジェットを使用し、私は私がフォームを送信する際、画像をアップロードしようとしていた私の質問のためのソリューションを考え出したが、それは私が間違っていたことになり、すべてに感謝ここのようにAJAXを使用して画像をアップロードする: http://webtips.krajee.com/ajax-based-file-uploads-using-fileinput-plugin/

その後、フォームが

をsubmitedとき、私はDBに保存するファイルの名前を取ったプラグインのイベントを使用して
0

このウィジェットから'name' => 'file[]',を削除すると、一重引用符もtrueから削除されます。

echo FileInput::widget([ 
      'model' => $model, 
      'attribute' => 'file[]', 
      'options' => [ 
       'multiple' => true, 
       'accept' => 'image/*' 
      ], 
      'pluginOptions' => [ 
       'showCaption' => false, 
       'showRemove' => false, 
       'showUpload' => false, 
       'allowedFileExtensions' => ['jpg','jpeg','png'], 
       'overwriteInitial' => false 
      ], 
     ]); 

オリジナル:

echo FileInput::widget([ 
    'model' => $model, 
    'attribute' => 'attachment_1[]', 
    'options' => ['multiple' => true] 
]); 
+0

彼は次のように書いています: "*。私はアップロードしたすべてのファイルではないファイルが1つしかありません。つまり、 'enctype =" multipart/form-data "'が '

' –

+0

にあります。答えは@muhammadShahzadです。私はアップロードしましたが、今は別の問題に直面しています。 私のアプリケーションでは、私はフォームから送信されたデータを持つファイルの名前を保存する必要がありますが、アップロードする前に完了していたので、アップロードしたファイルの名前を取得してコントローラに渡して保存できます提出されたデータのあるもの –

+0

あなたはアップロード部分をどのようにしましたか? –

関連する問題