2011-01-11 3 views
0

나는 파일이 CodeIgniter의 입력 클래스 사용을 선택한 경우 감지하기 위해 노력하고있어 사용을 선택한 경우 감지 : 내보기에 출력에 업로드 입력 양식 도우미를 사용파일이 CodeIgniter를 입력 클래스

:

echo form_upload('image', isset($ad)?$ad['image']:"", 'placeholder="Image" title="Please Choose A File"'); 

그리고 내 컨트롤러에서 : $ 이미지는 항상 빈 나오고 : 물론

private function handleUpdate() 
{ 
    $image = $this->input->post('image'); 

    if($image != none && $image != "") 
    { 
    $this->handleImageUpload(); 
    } 
} 

이이 기능을 제거하지만, 문제를 설명하는 것입니다. 무슨 일이야? CI 사용 1.7.3

+0

무엇이'$ ad'입니까? – jondavidjohn

+0

아, $ 광고에 대해 유감스럽게 생각합니다. 나는 그 질문을 버리려했다. 컨트롤러에서 전달되는 배열입니다. 데이터베이스의 값을 포함합니다. 되돌아 보면 내 코드에 포함되어서는 안되며 업로드 입력을 미리 채울 수 있다고 생각하지 않으므로 기능이 추가되지 않습니다. 그것을 지적 해 주셔서 감사합니다 :) – Kyle

답변

3

을 사용하십시오 :

if(isset($_FILES['image']['tmp_name'])) { 
    do_something(); 
} 
+0

고마워요. CodeIgniter가 모든 $ _POST 및 $ _FILES 변수를 제거했지만 어떤 이유로 든 ... $ ... 그냥 $ _POST입니다. 대답에 다시 한번 감사드립니다. – Kyle

+0

나는 이것을 시도했지만 항상 TRUE이다. 그래서 $ _FILES [ 'image'] [ 'tmp_name']! = ''을 사용합니다. – etlds

+0

isset() 대신! empty()를 사용하십시오. – vadim

1

파일을 업로드 할 때는 $_FILES을 사용해야합니다.

$this->input->post('image') == $_POST['image'];

그리고이 시도 <form enctype="multipart/form-data">

+0

Wicked, $ _FILES를 지적 해 주셔서 감사합니다. 당신이 게시 한 코드 줄이 무엇인지 확실하지 않습니다. $ this-> input-> post ('image') = $ _FILES [ 'image']라고 말하고 싶습니까? – Kyle

+0

나는 $ _FOSES가 $ _POST가 아님을 의미 함 –

0

소프 Obazee를 잘했다. 이것은 나를 위해 일했다 :

if ($this->input->post('img') == $_FILES['img']) 
{ 
    //do upload and resize 
} 
관련 문제