pm1122dev의 비밀노트

php 파일 업로드하기 본문

php&mysql

php 파일 업로드하기

pm1122Dev 2017. 1. 18. 10:46
728x90
반응형


안녕하세요 파일업로드하는 방법에 대해서 알아보겠습니다. 


php파일은 총 2개가 필요합니다. 파일을 업로드할 파일 1개 그리고 업로드한 파일을 받아줄 파일1개 이렇게 총 2개가 필요합니다.


저는 첫번째 파일을 file.php라고 하고 form으로 넘겨받는 파일명을 upload.php로 작성했습니다. 


먼저 파일업로드를 하려면 $_FILES 에 대해서 알아야합니다.


1. $_FILES['input의 name명']['name']

 - 파일의 이름

2. $_FILES['input의 name명']['type']

 - 파일의 타입, ex) .jpg, .gif 등

3. $_FILES['input의 name명']['size']

 - 파일의 사이즈

4. $_FILES['input의 name명']['tmp_name']

 - 파일의 임시파일명, 업로드된 파일이 일시적으로 저장된 파일 패스

5. $_FILES['input의 name명']['error']

 - 파일의 에러


이렇게 5가지가 있습니다. 


1.file.php

파일선택


file.php를 살펴보면 


사용된게 form 그리고 input 태그 단 두개입니다. 


form을 자세히 살펴보면 action, method, ectype 이 사용되었는데 action은 업로드된 파일을 submit(전송)을 했을 경우 어떠한페이지로 어떠한 형식(method)으로 전송할 것인지 를 나타내 주는것이고


enctype은 파일을 업로드 할 경우 넣어주셔야합니다. 간단하죠?? method에는 post방식, get방식 두가지가 있는데 이건 나중에 설명하도록 하겠습니다. 


이제 2번째 파일을 보겠습니다. 


2. upload.php

<?
	$uploadDir = "./upload/";
	$uploadFile = $uploadDir.basename($_FILES['file']['name']);

	if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadFile)){
		echo "파일업로드에 성공하셨습니다";
	}else{
		echo "오류";
	}
	print_r($_FILES);
?>


첫번째 변수인 $uploadDir 은 업로드를 할 폴더를 정합니다. 그리고 $uploadFile은 파일명입니다. 업로드한 파일명으로 업로드할 폴더에 저장을 한다고 생각하시면 됩니다. 


그리고 if문에 보시면 move_uploaded_file(filename, destination)이 있습니다. 파일은 업로드 되면 임시파일로 등록이 되기 때문에 파일명에는 $_FILES['file']['tmp_name']적어주시고 목적지(destination)에는 


업로드폴더+본래의파일명으로 저장한 $uploadFile의 변수를 적어주시면 됩니다. 


시간이 또 되면 배열을 이용한 다중업로드에 대해서도 설명하도록 하겠습니다~! 감사합니다. 

728x90
반응형

'php&mysql' 카테고리의 다른 글

모바일웹에서 메뉴 스크롤 생길 경우 클릭한 위치로 이동  (0) 2021.01.23
사이트에 별점 추가  (0) 2021.01.23
php 파일 다중업로드  (0) 2017.01.18
echo로 호출하는 방법  (0) 2017.01.18
php란 무엇인가~~?  (0) 2017.01.17
Comments