0
我想上載3張圖片並在每次上傳圖片時調整它們的大小我正在將圖片名稱放入數組images
,但是在方法結束時,我只有print_r($images)
上傳的最後一張圖片的名稱,誰能告訴我這是爲什麼?codeigniter多次上傳
這裏是我的代碼,
// 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