파일을 업로드 한 후 파일 이름을 반환 할 때 문제가 있습니다. 제출 버튼을 누르면 폴더로 이미지를 업로드 할 수 있지만 파일 이름은 표시되지 않습니다.codeigniter에서 업로드 후 파일 이름을 배열로 가져옵니다.
CONTROLLER :
public function add()
{
$title = $this->input->post('title');
$files = $this->do_upload();
//print_r($files);
$this->user->in($title,$files);
}
public function do_upload()
{
$name_array = array();
$files = $_FILES;
$cpt = count($_FILES['userfile']['name']);
for($i=0; $i<=$cpt-1; $i++)
{
$_FILES['userfile']['name']= $files['userfile']['name'][$i];
$_FILES['userfile']['type']= $files['userfile']['type'][$i];
$_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i];
$_FILES['userfile']['error']= $files['userfile']['error'][$i];
$_FILES['userfile']['size']= $files['userfile']['size'][$i];
$this->upload->initialize($this->set_upload_options());
$data = $this->upload->do_upload();
$name_array[] = $data['file_name'];
}
$names = implode(',', $name_array);
return $names;
}
private function set_upload_options()
{
$config = array();
$config['upload_path'] = './portfolio/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '0';
$config['overwrite'] = FALSE;
return $config;
}
모델 :
public function in($title,$file)
{
foreach ($title as $key => $n) {
$insert[] = array(
'title' => $n,
'file' => $file[$key]
);
}
$this->db->insert_batch('title',$insert);
}
보기 :
이
코드입니다$files
을 print_r($files);
으로 인쇄하려고하면 단순히 ,
이 표시됩니다.
참고 링크 : Multiple files upload (Array) with CodeIgniter 2.0
의 결과는'do_upload' 컨트롤러의'var_dump ($ names)'결과를 보여줍니다. –
@RejoanulAlam'string (1) ",". 이것은 그 결과 보여주는 – Shihas