csvファイルをアップロードしてデータをmy mysqlデータベースに保存するにはどうしたらいいですか? id.in cakephpによる3 私はそれを行うことができません。誰でも私を助けることができます。 私のコントローラ パブリック関数インポート(){csvファイルをアップロードしてcakephpのデータベースにデータを保存する3
if(isset($_POST["submit"])){
if($_FILES['file']['csv']){
$filename = explode('.', $_FILES['file']['csv']);
debug($filename);
if($filename[1]=='csv'){
$handle = fopen($_FILES['file']['csv'], "r");
while ($data = fgetcsv($handle)){
$item1 = $data[0];
// $item2 = $data[1];
// $item3 = $data[2];
// $item4 = $data[3];
$Applicants = $this->Applicants->patchEntity($Applicants, $item1);
$this->Applicants->save($Applicants);
}
fclose($handle);
}
}
}
$this->render(FALSE);
}
私の見解:
<div class="col-md-8">
<?= $this->Form->create('Applicants',['type' => 'file','url' => ['controller'=>'Applicants','action' => 'import'],'class'=>'form-inline','role'=>'form',]) ?>
<div class="form-group">
<label class="sr-only" for="csv"> CSV </label>
<?php echo $this->Form->input('csv', ['type'=>'file','class' => 'form-control', 'label' => false, 'placeholder' => 'csv upload',]); ?>
</div>
<button type="submit" class="btn btn-default"> Upload </button>
<?= $this->Form->end() ?>
</div>
私は私はcsvファイルをアップロードし、私のdatabase.butにデータに従ってIDを挿入したいですcakephpでこれを行うことができない3 –
データを行単位で保存する場合は、行単位でデータを挿入するか、一度にデータを挿入する場合は、上記のコードでwhileループ自体のpatchエンティティの代わりにnewEntityを使用します。 –
私の編集を確認してください、これは今のところ目的通りに動作するはずです –