PHP 파일 업로드 FORM 처리

by 조쉬 posted Jan 12, 2023
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

<?php
  // form 파일 업로드(오직 method=post)
  // http://localhost/testphp/11.php
  // 아래 HTML tag에서 48라인인 method를 post형식으로 보낸 파라미터를 받습니다.
  // form안에 각 태그의 name으로 $_POST['name']으로 넘어옵니다.
 
  // $_FILES방식으로 받은 값 출력(오직 method=post)
  echo "<b>\$_FILES['form name'][deprecated]</b><br>\n";
  echo "파일 이름 : ".$_FILES['test']['name']."<br>\n";
  echo "파일 크기 : ".$_FILES['test']['size']."<br>\n";
  echo "파일 타입 : ".$_FILES['test']['type']."<br>\n";
  echo "파일 에러 : ".$_FILES['test']['error']."<br>\n";
  echo "임시 파일 : ".$_FILES['test']['tmp_name']."<br>\n";
  /* $_FILES['test']['error'] 코드값
    파일 전송 완료됨      - UPLOAD_ERR_OK: 0
    파일 php.ini max 큼   - UPLOAD_ERR_INI_SIZE: 1
    파일 MAX_FILE_SIZE 큼 - UPLOAD_ERR_FORM_SIZE: 2
    파일 전송 일부만      - UPLOAD_ERR_PARTIAL: 3
    파일 전송 안되음      - UPLOAD_ERR_NO_FILE: 4
    임시 폴더가 없음      - UPLOAD_ERR_NO_TMP_DIR: 6
    디스크 파일 쓰기 실패 - UPLOAD_ERR_CANT_WRITE: 7
    확장 파일 업로드 중지 - UPLOAD_ERR_EXTENSION: 8
  */
  // 파일 위치와 파일명 설정
  $now_uploadfile = getcwd()."/".$_FILES['test']['name'];
  // 업로드 처리
  if(move_uploaded_file($_FILES['test']['tmp_name'], $now_uploadfile)){
    echo getcwd()."경로에 파일을 업로드 하였습니다.<br>\n";
  }
  else if(!$_FILES['test']['error']){
    echo getcwd()."경로에 파일을 업로드 준비.<br>\n";
  }
  else{
    echo getcwd()."경로에 파일을 업로드 실패.<br>\n";
  }
  $HTML_tag1 =
  '<HTML>
     <HEAD>
       <script type="text/javascript" language="javascript">
       <!--
         function getgo(){
         location.href = "'.$_SERVER["PHP_SELF"].'";
       }
       //-->
       </script>
     </HEAD>
     <BODY>
     <form method="post" enctype="multipart/form-data" action="'.$_SERVER["PHP_SELF"].'">
     <input type="file" name="test" title="test"/>
     <input type="hidden" name="MAX_FILE_SIZE" value="20000"/>
     <input type="submit" value="전송"/>
     </form>
     <input type="button" value="초기화" onclick="getgo();">
     </BODY>
   </HTML>
  ';
  echo $HTML_tag1;
?>