0
내가 작업하는 양식에는 5 명이 들어 있습니다. 선택적으로, 사용자는 5 명 각각에 대해 사진을 업로드 할 수 있습니다. 이미지가 업로드되지 않은 결과 배열 $에 기본 이미지를 삽입하려고합니다. 도움말 크게 감사하겠습니다.CodeIgniter 이미지 업로드 (배열에 빈 삽입)
function multiple_upload($upload_dir = APPPATH, $config = array())
{
$CI =& get_instance();
$files = array();
if(empty($config))
{
$config['upload_path'] = realpath($upload_dir . '/uploads');
$config['allowed_types'] = 'gif|jpg|jpeg|jpe|png';
$config['max_size'] = '2048';
}
$CI->load->library('upload', $config);
$errors = FALSE;
$this->load->library('image_lib'); // moved outside loop so it'll work
foreach($_FILES as $key => $value)
{
if(! empty($value['name']))
{
if(! $CI->upload->do_upload($key))
{
$data['upload_message'] = $CI->upload->display_errors(ERR_OPEN, ERR_CLOSE); // ERR_OPEN and ERR_CLOSE are error delimiters defined in a config file
$CI->load->vars($data);
$errors = TRUE;
}
else
{
// resize the saved image
$path = $CI->upload->data('full_path');
//echo $path['full_path'] . "<Br/>";
$config = array(
'source_image' => $path['full_path'],
'new_image' => $upload_dir . 'uploads/thumbs',
'maintain_ration' => true,
'width' => 150,
'height' => 150
);
$this->image_lib->initialize($config);
$this->image_lib->resize();
// Build a file array from all uploaded files
$files[] = $CI->upload->data();
}
}
}
// There was errors, we have to delete the uploaded files
if($errors)
{
foreach($files as $key => $file)
{
@unlink($file['full_path']);
}
}
elseif(empty($files) AND empty($data['upload_message']))
{
$CI->lang->load('upload');
$data['upload_message'] = ERR_OPEN.$CI->lang->line('upload_no_file_selected').ERR_CLOSE;
$CI->load->vars($data);
}
else
{
return $files;
}
}