CakePHP3.6.6にてファイルのアップロードを実装しています。
現在単体でのファイルアップロードは出来るようになりましたので、複数ファイルをまとめてアップロードしたいと思い、templateを修正したところエラーが発生しました。
発生している問題・エラーメッセージ
Unexpected field 'file_name.0.error' in POST data, Unexpected field 'file_name.0.name' in POST data, Unexpected field 'file_name.0.size' in POST data, Unexpected field 'file_name.0.tmp_name' in POST data, Unexpected field 'file_name.0.type' in POST data, Unexpected field 'file_name.1.error' in POST data, Unexpected field 'file_name.1.name' in POST data, Unexpected field 'file_name.1.size' in POST data, Unexpected field 'file_name.1.tmp_name' in POST data, Unexpected field 'file_name.1.type' in POST data, Missing field 'file_name.name, file_name.type, file_name.tmp_name, file_name.error, file_name.size' in POST data
該当のソースコード
CTP
1<div class="fileUpload"> 2 <?= $this->Form->create($articleImage, ['type' => 'file']); ?> 3 <?= $this->Form->control('article_id', ['options' => $articles, 'default' => $id, 'label' => ['text' => '物件名']]); ?> 4 <?= $this->Form->file('file_name[]' , ['multiple' => true]); ?> 5 <?= $this->Form->control('article_image_type_id', ['options' => $articleImageTypes, 'label' => ['text' => '画像種類'], 'default' => '2']); ?> 6 <?= $this->Form->control('comment', ['label' => ['text' => 'コメント']]); ?> 7 <div class="fileUploadBtns"> 8 <?= $this->Form->submit('保存'); ?> 9<?php if($id != null): ?> 10 <?= $this->Html->link('戻る',['controller' => 'Articles', 'action' => 'view', $id],['class' => 'fileUploadBackBtn']); ?> 11<?php else: ?> 12 <?= $this->Html->link('戻る',['controller' => 'Articles', 'action' => 'index'],['class' => 'fileUploadBackBtn']); ?> 13<?php endif; ?> 14 </div> 15 <?= $this->Form->end(); ?> 16</div>
試したこと
・['type' => 'file']の追加
・file_name→file_name[]に変更
・['multiple' => true]の追加
色々調べてみた結果、file_name[]に変更したことによるエラーだろうという推測はつくのですが、その後の対処が分からず先に進めておりません。
<?php echo $this->Form->unlockField('file_name'); ?>を試してみたりもしましたが、今度はMissing Fieldエラーが出てしまいこちらも進めません。
何か原因等ございましたらご教授いただけませんでしょうか。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー