0
イメージをアップロードするたびに3つのイメージをアップロードしようとしていますが、イメージ名を配列images
に入れていますが、メソッドの最後には、print_r($images)
しか取得できません。アップロードされた最後の画像の名前、誰でもこの理由を教えてもらえますか?ここでcodeigniter multiple upload
が
// lets get rid of any old configs
$secondaryConfig['upload_path'] = './media/uploads/news/';
$secondaryConfig['allowed_types'] = 'gif|jpg|png';
$secondaryConfig['max_size'] = '4000';
$secondaryConfig['max_width'] = '230';
$secondaryConfig['max_height'] = '120';
$secondaryManipulationConfig['image_library'] = 'gd2';
$secondaryManipulationConfig['create_thumb'] = FALSE;
$secondaryManipulationConfig['maintain_ratio'] = TRUE;
$secondaryManipulationConfig['width'] = 132;
$secondaryManipulationConfig['height'] = 80;
//image_1
$this->upload->initialize($secondaryConfig);
if (!$this->upload->do_upload('image_1'))
{
$data['error_image_1'] = $this->upload->display_errors();
$this->template->build('admin/news/edit', $data);
return;
}
else
{
$image = $this->upload->data();
$images[] = $image['file_name'];
$this->image_lib->initialize($secondaryManipulationConfig);
$secondaryManipulationConfig['source_image'] = './media/uploads/news/'.$image['file_name'];
if (!$this->image_lib->resize())
{
$data['error_image_1'] = $this->image_lib->display_errors();
$this->template->build('admin/news/edit', $data);
return;
}
}
$this->upload->initialize($secondaryConfig);
if (!$this->upload->do_upload('image_2'))
{
$data['error_image_2'] = $this->upload->display_errors();
$this->template->build('admin/news/edit', $data);
return;
}
else
{
$image = $this->upload->data();
$images[] = $image['file_name'];
$this->image_lib->initialize($secondaryManipulationConfig);
$secondaryManipulationConfig['source_image'] = './media/uploads/news/'.$image['file_name'];
if (!$this->image_lib->resize())
{
$data['error_image_2'] = $this->image_lib->display_errors();
$this->template->build('admin/news/edit', $data);
return;
}
}
//image_3
$this->upload->initialize($secondaryConfig);
if (!$this->upload->do_upload('image_3'))
{
$data['error_image_3'] = $this->upload->display_errors();
$this->template->build('admin/news/edit', $data);
return;
}
else
{
$image = $this->upload->data();
$images[] = $image['file_name'];
$this->image_lib->initialize($secondaryManipulationConfig);
$secondaryManipulationConfig['source_image'] = './media/uploads/news/'.$image['file_name'];
if (!$this->image_lib->resize())
{
$data['error_image_3'] = $this->image_lib->display_errors();
$this->template->build('admin/news/edit', $data);
return;
}
}
のようになります。私はフルサイズの画像をアップロードしてこれを解決し、最終的なアップロード( 'copy'または' move_uploaded_file'を使用)の後でサイズを変更しました – Aif
アップロードするファイルをすべて静的に初期化するのはなぜですか?貴方はするべきではない! [このガイド](http://codeigniter.com/user_guide/libraries/file_uploading.html)を使用し、コードを修正してください。 – user973254