2013-01-10 3 views
0

문제의 범위를 좁히려면 아래의 스크립트에서 관련이없는 코드가 모두 제거되었지만 지금까지도 '베어 본'으로 넘어가더라도 여전히 작동하지 않습니다.내 파일 업로드 양식이 작동하지 않는 이유는 무엇입니까?

웹 서버 오류 로그에이 문제와 관련된 오류가 없으며 print_r ($ _ Files)이 비어 있습니다. 이 일을 멈추게 할 수있는 것은 무엇일까?

업로드하려는 파일이 20KB입니다. PHP 서버 변수 upload_max_filesize = 100M 및 post_max_size = 101M.

<? 
echo 'Here is some debugging info:'; 
print_r($_FILES); 

if ($_FILES['image']['name']) { 

    echo "\n\nFiles Detected"; 

} else { 
?> 
<!DOCTYPE HTML> 
<html> 
    <head> 
     <title>File Upload</title> 
    </head> 
    <body> 
     <form 
      action = "<?=$_SERVER['PHP_SELF']?>" 
      enctype = "multipart/form-data" 
      name = "uploadImage"> 

      Upload: 
      <input type='file' name='image'><br><br> 
      <input type="submit" value="Upload"> 
     </form> 
    </body> 
</html> 
<? } ?> 

파일이 검색되지 않습니다.

+0

직장에 방화벽이 있습니까? – Cups

+1

양식에 method = "POST"를 추가 했습니까? –

+1

아, 그래, 누락 된 게시물 mthod 어쩌면, http://php.net/manual/en/features.file-upload.post-method.php 나는 "직장에서 나던 일"에 대한 의견을 듣고있어 ... – Cups

답변

7

파일을 업로드하려면 "게시글"을 사용해야합니다. 양식 태그에 대한 "method"속성을 지정하지 않으므로 기본 메소드는 "get"입니다. 양식에 method="post"을 설정하십시오.

+0

잘 했어! 그것은 그것을 고쳤다. 감사. 6 분 동안 대답을 받아 들일 수 없습니다 !! –

+0

하지만 그는 $ _FILES를 사용해야합니다. 속성 메소드가 양식에 필요한 이유를 모르겠다. –

+3

파일을 업로드 할 때 파일 데이터 전송을 지원하기 위해 데이터를 올바른 형식으로 인코딩해야하기 때문에. 이것이'enctype = "multipart/form-data"가 사용하는 것입니다. GET 메서드는 다른 인코딩 방법을 지원하지 않습니다. – Valdars

4

양식 속성에서 method = "post"가 누락되었습니다.

+0

그러나 그는 $ _FILES를 사용해야합니다. 이해가 안됨 –

+1

기본 메소드는 get이며 파일 업로드는 post 메소드에서만 가능합니다. – Dutow

관련 문제