파일 업로드 예제
페이지 정보
작성자 서방님 댓글 0건 조회 100회 작성일 13-08-13 11:26본문
#1 upload_form.php : 파일 전송 폼
<form enctype="multipart/form-data" action="upload_ok.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
전송할 파일 : <input name="userfile" type="file">
<input type="submit" value="파일 전송">
</form>
#2 upload_ok.php : 전송된 파일 처리
<?
$uploaddir = "/uploads/";
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "파일 업로드 성공";
} else {
echo "파일 업로드 실패";
}
?>
주의) 위 예제는 아무런 보안 처리도 되지 않은 상태임.
* 파일 업로드를 위한 추가정보
* 파일 업로드 폼은 enctype="multipart/form-data"를 반드시 가지고 있어야 된다.
* #1에서 지정된 MAX_FILE_SIZE를 사용자가 변경하는건 매우 간단하기에 이 기능에 의존해서는 안된다.
* 파일의 크기가 MAX_FILE_SIZE를 초과할 경우 업로드가 중단된다.
* PHP 4.1.0 부터 업로드된 파일의 모든 정보를 담고있는 $_FILES 배열을 사용할 수 있다.
(이전 버전에선 $HTTP_POST_FILES 배열을 사용할 것)
$_FIELS 배열 정보 (예제에서 사용한 userfile로 표현함에 주의. 어떤 이름이라도 가질 수 있다.)
$_FILES['userfile']['name']
클라이언트 머신에 존재하는 파일의 원래 이름.
$_FILES['userfile']['type'];
브라우저가 이 정보를 제공할 경우에, 파일의 mime 형식. 예를 들면 "image/gif".
$_FILES['userfile']['size'];
업로드된 파일의 바이트로 표현한 크기.
$_FILES['userfile']['tmp_name'];
서버에 저장된 업로드된 파일의 임시 파일 이름.
$_FILES['userfile']['error'];
파일 업로드에 관련한 에러 코드. ['error']는 PHP 4.2.0에서 추가 됨.
* 폼에서 어떠한 파일도 선택하지 않으면, PHP는 $_FILES['userfile']['size']를 0으로, $_FILES['userfile']['tmp_name']을 none으로 반환한다.
에러 메세지 설명
UPLOAD_ERR_OK
값: 0; 오류 없이 파일 업로드가 성공.
UPLOAD_ERR_INI_SIZE
값: 1; 업로드한 파일이 php.ini upload_max_filesize 지시어보다 큼.
UPLOAD_ERR_FORM_SIZE
값: 2; 업로드한 파일이 HTML 폼에서 지정한 MAX_FILE_SIZE 지시어보다 큼.
UPLOAD_ERR_PARTIAL
값: 3; 파일이 일부분만 전송 됨.
UPLOAD_ERR_NO_FILE
값: 4; 파일이 전송되지 않음.
댓글목록
등록된 댓글이 없습니다.