0
私はPHP CIフレームワークを使用して新しいです。私のプロジェクトでは、複数のアップロード入力があります。CIを使用して複数のファイルをアップロードする方法はありますが、データベースに一度保存するだけですか?
<form method="post" action="<?php echo site_url('upload_img/om_telolet_om'); ?>">
<input type="text" id="student_id" name="student_id" />
<input type="text" id="arr_img_student" name="arr_img_student" />
<input class="up_img" type="file" name="image1" /><br />
<input class="up_img" type="file" name="image2" />
<input type="submit" value="submit" />
</form>
その後、私はup_img
の値を移入し、arr_img_student
にそれを置くためのjQueryを使用しています。その後、データはコントローラに送信されます。これはコントローラです:
//UPLOAD
public function om_telolet_om()
{
$this->load->helper('url');
//UPLOAD FILE RULES
$config['upload_path'] = './asset/images/uploads/';
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_size'] = '0';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$config['overwrite'] = TRUE;
$this->load->library('upload', $config);
$this->upload->initialize($config);
for($x = 1; $x<=2; $x++){
$value = "image".$x;
if (! $this->upload->do_upload($value)){
$data['error'] = $this->upload->display_errors();
$this->load->view('f_upload', $data);
}
else
{
$data['id'] = $this->input->post('student_id');
$data['img_path'] = $this->input->post('arr_img_student');
$this->model_student->insert_student($data);
}
}
}
コードはアップロードをループするだけでなく、挿入プロセスもループします。 アップロードをループする(アップロードルールをチェックする)コードを作成し、一度だけデータベースに保存することはできますか?アップロードルールが一致する場合は、データを保存する必要があります。私のデータベースでは、使用されるテーブルは1つだけです。 student_id
およびimg_path
。データベース構造を変更する特権はありません。テーブルからのデータを使用している場合
「STUDENT_IDとimg_path私は、データベース構造を変更すること何の権限を持っていません。」ユーザーが多くのファイルをアップロードできる場合は、ファイル用の別のテーブルとユーザー用の別のテーブルが必要です。 – e4c5
別のテーブルを作成できません。だから私は、文字列を区切ってユニークな文字列に画像パスを保存する理由は –
RDBMS – e4c5