메뉴 건너뛰기

조회 수 9028 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
<html>
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<title>이미지 업로드 공부</title>
</head>
<body>
<?php

// 1.업로드 상태여부를 체크
if (isset($_POST['upload_check'])) {

	// 2.업로드된 파일의 존재여부 및 전송상태 확인
	if (isset($_FILES['upload']) && !$_FILES['upload']['error']) {

		// 3-1.허용할 이미지 종류를 배열로 저장
		$imageKind = array ('image/pjpeg', 'image/jpeg', 'image/JPG', 'image/X-PNG', 'image/PNG', 'image/png', 'image/x-png');

		// 3-2.imageKind 배열내에 $_FILES['upload']['type']에 해당되는 타입(문자열) 있는지 체크
		if (in_array($_FILES['upload']['type'], $imageKind)) {
		
			// 4.허용하는 이미지파일이라면 지정된 위치로 이동
			if (move_uploaded_file ($_FILES['upload']['tmp_name'], "./upload/{$_FILES['upload']['name']}")) {

				// 5.업로드된 이미지 파일을 출력
				echo '<p><img src="./upload/'.$_FILES['upload']['name'].'" /></p>';
				echo '<p>파일명: '.$_FILES['upload']['name'].'</p>';

			} //if , move_uploaded_file
			
		} else { // 3-3.허용된 이미지 타입이 아닌경우
			echo '<p>JPEG 또는 PNG 이미지만 업로드 가능합니다.</p>';
		}//if , inarray

	} //if , isset
	

	// 6.에러가 존재하는지 체크
	if ($_FILES['upload']['error'] > 0) {
		echo '<p>파일 업로드 실패 이유: <strong>';
	
		// 실패 내용을 출력
		switch ($_FILES['upload']['error']) {
			case 1:
				echo 'php.ini 파일의 upload_max_filesize 설정값을 초과함(업로드 최대용량 초과)';
				break;
			case 2:
				echo 'Form에서 설정된 MAX_FILE_SIZE 설정값을 초과함(업로드 최대용량 초과)';
				break;
			case 3:
				echo '파일 일부만 업로드 됨';
				break;
			case 4:
				echo '업로드된 파일이 없음';
				break;
			case 6:
				echo '사용가능한 임시폴더가 없음';
				break;
			case 7:
				echo '디스크에 저장할수 없음';
				break;
			case 8:
				echo '파일 업로드가 중지됨';
				break;
			default:
				echo '시스템 오류가 발생';
				break;
		} // switch
		
		echo '</strong></p>';
		
	} // if
	
	// 7.임시파일이 존재하는 경우 삭제
	if (file_exists ($_FILES['upload']['tmp_name']) && is_file($_FILES['upload']['tmp_name']) ) {
		unlink ($_FILES['upload']['tmp_name']);
	}
			
} // if
?>
	
<form enctype="multipart/form-data" action="test.php" method="post">
	 <!-- 8.클라이언트쪽 업로드 제한용량을 설정함-->
	<input type="hidden" name="MAX_FILE_SIZE" value="524288">
	
	<fieldset><legend>업로드할 사진파일(JPG,PNG)을 선택하세요(512K이내):</legend>
	
	<p><b>파일:</b> <input type="file" name="upload" /></p>
	
	</fieldset>
	<div align="center"><input type="submit" name="upload_form" value="업로드" /></div>
	<input type="hidden" name="upload_check" value="true" />
</form>
</body>
</html>

  1. No Image 07Nov
    by
    2018/11/07 Views 81453 

    jquery timer, javascript countdown (타이머 예제)

  2. No Image 22Dec
    by
    2016/12/22 Views 49605 

    jquery 플러그인 링크 모음

  3. No Image 21Sep
    by
    2016/09/21 Views 14374 

    동적으로 콤보(select)의 항목(option) 생성하기

  4. 이미지 클릭시 확대하기

  5. jqGrid / custom pager / custom paging / 그리드 / 페이징

  6. No Image 25Mar
    by
    2021/03/25 Views 12227 

    Ajax를 통해 전송된 데이터를 Controller에서 List 객체로 받기

  7. No Image 02Mar
    by
    2017/03/02 Views 11799 

    jQuery 입문: form 데이터 유효성 검사

  8. No Image 21Sep
    by
    2016/09/21 Views 11535 

    속성선택자를 이용해서 링크에 스타일 입히기

  9. Ajax를 이용한 데이터 조회시 로딩 로딩 이미지 보이기(jquery이용)

  10. No Image 02Mar
    by
    2017/03/02 Views 10558 

    jquery 이용한 필수입력체크(input form)

  11. No Image 22Dec
    by
    2016/12/22 Views 10484 

    셀렉트박스에서 특정 옵션 선택시 레이어 나타내기

  12. No Image 22Dec
    by
    2016/12/22 Views 10110 

    bxslider 멈춤현상

  13. No Image 17Nov
    by
    2016/11/17 Views 10055 

    jQuery 날짜 비교 (날짜비교)

  14. No Image 17Nov
    by
    2016/11/17 Views 10044 

    jquery radio checked (라디오 버튼 값으로 선택), 검색 조건 초기 셋팅

  15. No Image 09Sep
    by
    2016/09/09 Views 9489 

    각종 다이어그램 플러그인 / 차트 / 관계 플러그인

  16. No Image 21Sep
    by
    2016/09/21 Views 9202 

    POST 방식으로 인수를 전달하고 그 결과를 받아오기

  17. No Image 21Sep
    by
    2016/09/21 Views 9065 

    select box 값 변경, 목록 변경

  18. No Image 06Mar
    by 조쉬
    2017/03/06 Views 9028 

    파일 업로드 방법, 이미지 파일 업로드 예제 소스

  19. No Image 11Sep
    by
    2016/09/11 Views 8876 

    [jQuery] 이용 아이디 중복체크 실시간

  20. No Image 17Nov
    by
    2016/11/17 Views 8835 

    jquery 글자 byte, 문자열 byte(바이트) 길이 체크하기 예제

Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved