2011-01-07 9 views
1

이것은 흐릿해질 것입니다 ... 저는 폼과 업데이트 폼 모두에 업로드 필드가있는 db의 "오퍼"를 관리하기위한 까다로운 시스템을 구축했습니다. php codeigniter upload class

사용자가 i가 표시되는 화면을 가지고 있지만 그들은 새로운 하나를 업로드하려면 양식 필드들이

까다로운 부분 업데이트를 제출할 때 새 이미지를 업로드 할 업데이트 형태가 편집 간다

$ this-> upload-> do_upload()에 이미지가 지정되지 않았다는 오류 메시지가 출력됩니다.

if (! empty ($ _ POST [ 'userfile'])) 이미지가 지정되었지만 업로드 클래스 만 사용하려면 양식을 제출할 때 업로드 클래스 함수 호출에 도달 할 때까지 항상 비어있는 것처럼 보입니다. heres some code

$userfile = $this->input->post('userfile');//i have tried $_POST as well 


if(! empty($userfile)) 
      { 
       if (! $this->upload->do_upload()) 
       { 
        $error = array('error' => $this->upload->display_errors()); 
        echo $this->upload->display_errors(); 

        $data['offer'] = $this->moffers->get_offer($this->input->post('id')); 
        $this->load->view('admin/admin_header'); 
        $this->load->view('admin/edit',$data); 
        $this->load->view('admin/admin_footer'); 
       } 

어떤 문제가 발생했는지에 대한 해결책이 있습니까? 사용자 나던 그들은 항상

<tr> 
     <td>Upload a new image</td> 
     <td><input type="file" name="userfile" size="40" /></td> 
    </tr> 

답변

2

가 이런 식으로 작업을 수행하고 싶지 수있는 업로드 할 파일을 지정하면 내가 빈() 조건하지만 실 거예요 작업을 수행 할 때 업로드 필드는 잘 작동 :

if(isset($_FILES['userfile']['tmp_name']) && !empty($_FILES['userfile']['tmp_name'])): 
     if (! $this->upload->do_upload()) 
      { 
       $error = array('error' => $this->upload->display_errors()); 
       echo $this->upload->display_errors(); 

       $data['offer'] = $this->moffers->get_offer($this->input->post('id')); 
       $this->load->view('admin/admin_header'); 
       $this->load->view('admin/edit',$data); 
       $this->load->view('admin/admin_footer'); 
      } 
    endif; 

그건 내가 codeigniter 프로젝트 중 하나에서 어떻게했는지입니다.

은 또한 항상 유용 할 수있는 CodeIgniter를 업로드 도우미를 생성) ->http://blog.cmstutorials.org/freebees/codeigniter-free-upload-helper

+0

perfec, 환호, TMP 이름에 대한 –

+0

@ 크리스 맥케이브 당신을 환영합니다 – Christophe

0

보십시오이 :

if(! empty($userfile)) 
      { 
       if (! $this->upload->do_upload()) 
       { 
        $error = array('error' => $this->upload->display_errors()); 
        echo $this->upload->display_errors(); 
       } 
} 


        $data['offer'] = $this->moffers->get_offer($this->input->post('id')); 
        $this->load->view('admin/admin_header'); 
        $this->load->view('admin/edit',$data); 
        $this->load->view('admin/admin_footer');