본문으로 바로가기
amazon aws ses랑 mime를 써서 첨부파일하는 도중.
마지막 작업으로 html파일을 만들어 메일 보내는 모양새만 만들면 되서 후딱 끝내려했는데 권한이 없어서 업로드가 안돼ㅠㅠ
print_r($_FILES);
해보니
[error] => 0
이 나오는거보니 제대로 되는거같은데
(2가 나와야 에러라고 한다) 뭔지 한참 고민하다가.. 파일권한 바꿔야한다는 걸 알고 급 검색.

파일 권한 바꾸는 방법은 다음과 같다.
업로드 할 폴더의 상위 폴더에 마우스를 갖다놓고 마우스 오른쪽 버튼 클릭!


Launch Terminal에 들어간다 > chmode 707 업로드폴더명 입력하면 땡.
(everyone으로 넣는 방법이 있다는데 귀찮다. 우선은 되니깐 pass~)
자, 이젠 드디어 첨부파일할 파일을 서버에 올리는 방법은 다음과 같다.
$file = "uploads/"; //업로드 경로
//업로드 경로에 파일명 가져옴 (따라서 업로드할 파일의 경로가 됨)
$file = $file . basename($_FILES['attachment']['name']); 

//업로드 후 되었는지 확인 (업로드되었을경우 true(또는1), 반대 false(또는0) 반환)
if(move_uploaded_file($_FILES['attachment']['tmp_name'], $file)) {
	echo "Success!"
} else{
	echo "Fail!";
}

echo "error : ";
print_r($_FILES);
echo "";
- $_FILES의 속성은 다음과 같다.
: $_FILES['userfile']['tmp_name'] - 웹 서버에 임시로 저장된 파일의 위치.
: $_FILES['userfile']['name'] - 사용자 시스템에 있을 때의 파일 이름.
: $_FILES['userfile']['size'] - 파일의 바이트 크기.
: $_FILES['userfile']['type'] - 파일의 MIME 타입을 가리킴. 예를 들어, text/plain이나 image/gif.
: $_FILES['userfile']['error'] - 파일 업로드할 때 일어난 오류 코드를 알려주는데, PHP 4.2.0에서 추가됨.

- 여기서 userfile는 input으로 가져온 name값을 말한다.

- move_uploaded_file($_FILES['attachment']['tmp_name'], $file)
: move_uploaded_file는 서버 파일을에 업로드해주는 함수
: $_FILES['input']에서 가져온 ['name값']['tmp_name'] 여기서 'tmp_name'는 임시파일명을 지정해주는것이다. 꼭 'tmp_name'를 쓸것
: $file에는 업로드할 경로와 업로드할 파일명을 합쳐 올린다.
ex) 업로드할 경로는 uploads/ 이고, 업로드할 파일명은 test.txt일경우
uploads/test.txt를 만들어올린다. (따라서 'uploads/test.txt' 이렇게 쓰라는 말임)

- basename('문자열')
:한글로 쓴 내용이 잘리지 않도록 변환해주는 함수

- print_r($_FILES)
: 되는지 확인할때!