ケースには3つのファイル入力があります。彼らのためにそれぞれの名前属性file1
、file2
、およびfile3
CodeIgniterファイルのアップロードファイル名がループ内に変更されます
はその後、私のコントローラの内部で、私は、ファイルの名前を変更するためswitch case
機能を使用しています。
file1
= 'ラベル' file2
= 'メートル' file3
= 'ルマー'
for ($n=1; $n<=3; $n++) {
if (empty($_FILES["file$n"]['name'])) continue;
$filext = pathinfo($_FILES["file$n"]['name'],PATHINFO_EXTENSION);
switch($n) {
case 1: $namae = 'label'; break;
case 2: $namae = 'meter'; break;
case 3: $namae = 'rumah'; break;
}
$config['upload_path'] = $upload_path;
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 1024 * 20;
$config['file_name'] = $namae;
$this->load->library('upload', $config);
if (!$this->upload->do_upload("file$n")) {
${"photo$n"."_upload"} = $this->upload->display_errors();
} else {
${"photo$n"."_upload"} = $this->upload->data();
$this->model->simpan_foto($id_survei,$namae,${"photo$n"."_upload"}['file_name']);
}
}
しかし、それは動作しませんでした! 3つのファイルのすべてに「label」という名前が付けられていますので、label.png、label1.png、label2.png($config['overwrite']
を使用しないため)
これを行う方法は?私は、任意の条件を追加していないされて
?私は既に 'case 1:...'、 'case 2:...'、 'case 3:...'とタイプしました。 :/ –
私はあなたのコードを慎重に読みましたが、何か間違ったことはまだ見つかりませんでした。ループの中に(スイッチケースの後で) 'echo $ namae'を試みて、何が起こるかを見ましたか? – koceeng
私は '$ namae'をデータベースに保存する行を' $ this-> model-> simpan_foto($ id_survei、$ namae、$ {"photo $ n"。 "_ upload"}としています。 'file_name']); '、' $ namae'の値は私の 'switch case'に応じて実際に変更されました。ですから、問題は '$ this-> load-> library( 'upload'、$ config);行です。' $ config [] 'はライブラリに更新されていません。 –