2011-10-22 1 views
0

Zend Framework로 업로드 한 이미지의 파일 유형을 결정하는 데 문제가 있습니다. $ _FILES [ 'File'] [ 'type']을 사용하여 파일 유형을 결정할 때마다 항상 applicationoctet-stream이 표시됩니다. 양식이 게시되었는지 확인하기 전에 유형을 결정할 때만 올바른 확장자를 얻습니다. 아무도 이유를 아나요? 이 문제를 해결하는 더 좋은 방법이 있습니까?Zend Form으로 이미지 업로드 이미지 확장 확인 문제

이 작동합니다

$form = new Form_Reg; 
$this->view->Reg = $form; 
if(isset($_FILES['File']['type'])){ 
    $filetype = $file = $_FILES['File']['type']; 
    } 

     if ($this->getRequest()->isPost()){ 

      $formData = $this->_request->getPost(); 
      if($form->isValid($formData)){ 

       echo $filetype; 
       exit; 


     } 
    } 

이 작동하지 않습니다 : I에 유래에 이것에 대해 더 많은 질문을 본 적이 있지만, 내 특정 문제를 해결 답을 찾을 수 없습니다

$form = new Form_Reg; 
$this->view->Reg = $form; 




     if ($this->getRequest()->isPost()){ 

      $formData = $this->_request->getPost(); 
      if($form->isValid($formData)){ 
       $filetype = $file = $_FILES['File']['type']; 
       echo $filetype; 
       exit; 


     } 
    } 
+0

항상 내가 대답을 :) 찾을 : 이 확장자를 얻기의 훨씬 좋네요 방법 : \t $ arr_pathinfo =의 PathInfo ($ 형상 -> 파일 ->려면 getFilename()); \t $ extension = strtolower ($ arr_pathinfo [ 'extension']); – Tosh

+1

답변이 적합한 경우이 의견을 답변으로 게시 한 다음 모두에게 쉽게 표시되도록 허용하십시오. –

답변

1

. 문제는 파일 형식이 applicationoctet-stream으로 변경되는 양식 처리를 시작하자마자 업로드 된 파일이 이미지 일 경우 zend 양식에서 유효성을 검사 할 수 없다는 것입니다. 업로드 된 파일의 종류가 없습니다.

트릭은 php.ini를 조정하고이를 찾아서 주석 처리를 제거했습니다. extension = php_fileinfo.dll.

아직도 zend_form이 fileinfo를 필요로하는지 궁금합니다. $ _FILES global은 fileinfo없이 작동합니다. 내가 질문을 AKS 때