PHP에서 파일 업로드하기
모델1 방식에서의 PHP에서 파일 업로드를 처리하려면 다음과 같이 두개의 페이지가 필요합니다.
1. 파일을 입력받는 페이지 : upload.php
2. 파일 전송을 요청받는 페이지 : uploadProcess.php
각 페이지를 다음과 같이 구성해 보겠습니다.
//upload.php 파일 <form name="uploadForm" enctype="multipart/form-data" action="uploadProcess.php" method="POST"> <input type="file" name="fileinput" class="form-control"><br> <button>파일 전송</button> </form> // uploadProcess.php 파일 <?php //uploadPath 변수에 파일 업로드 디렉토리를 문자열로 지정합니다. $uploadPath = "디렉토리명 입력/"; //name이 fileinput인 파일을 uploadFile 변수에 담아줍니다. $uploadFile = $uploadPath . basename($_FILES['fileinput']['name']); //move_uploaded_file함수를 이용하여 인자를 넣어줍니다. //1. 서버에 임시로(tmp디렉토리) 자동 저장되어있는 파일을 첫번째 인자로 넣어줍니다. //2. 위에서 지정한 저장되어야할 디렉토리/파일명을 두번째 인자로 넣어주어, //실제로 원하는 곳에 저장될 수 있도록 처리합니다. //처리 결과는 boolean 값을 return시켜줍니다. 성공 시 true, 실패 시 false. //그에 따라 나머지 처리를 시켜줍니다. if ( move_uploaded_file($_FILES['fileinput']['tmp_name'], $uploadFile) ) { echo "<script>alert('업로드가 완료되었습니다.'); history.back();</script>"; } else { echo "<script>alert('업로드에 실패하였습니다.'); history.back();</script>"; } //아래의 코드는 업로드 로직의 디버깅 시 사용할 수 있습니다. //$_FILES객체에 대한 상세 정보를 보여줍니다. //print_r($_FILES); ?>
위와 같은 형태로 upload.php 페이지를 통해 파일을 선택한 뒤, uploadForm을 submit 처리하면
uploadProcess.php 파일에서 해당 요청을 받아 위와 같이 매우 간단하게 처리할 수 있습니다.
관련된 상세한 내용은 http://php.net/manual/kr/features.file-upload.post-method.php 링크에서 확인하세요.
최근 댓글