
move_uploaded_file 함수는 업로드된 파일을 임시 저장소에서 지정된 디렉토리로 이동하는 함수입니다. 이 함수를 사용할 때 발생할 수 있는 문제는 다음과 같습니다.
1. 업로드된 파일이 존재하지 않음: $_FILES['file']['tmp_name'] 변수가 빈 문자열을 반환하는 경우, 업로드된 파일이 존재하지 않습니다. 이 경우 move_uploaded_file 함수는 에러를 발생시키지 않습니다.
2. 업로드된 파일이 임시 저장소에 저장되지 않음: $_FILES['file']['tmp_name'] 변수가 빈 문자열을 반환하는 경우, 업로드된 파일이 임시 저장소에 저장되지 않습니다. 이 경우 move_uploaded_file 함수는 에러를 발생시키지 않습니다.
3. 업로드된 파일의 크기가 임시 저장소의 크기 제한을 초과함: 업로드된 파일의 크기가 임시 저장소의 크기 제한을 초과하는 경우, move_uploaded_file 함수는 에러를 발생시키지 않습니다.
4. 업로드된 파일의 형식이 허용되지 않음: 업로드된 파일의 형식이 허용되지 않는 경우, move_uploaded_file 함수는 에러를 발생시키지 않습니다.
5. 업로드된 파일을 저장할 디렉토리가 존재하지 않음: $upload_dir 변수가 존재하지 않는 디렉토리를 지정하는 경우, move_uploaded_file 함수는 에러를 발생시키지 않습니다.
6. 업로드된 파일을 저장할 디렉토리에 권한이 없음: $upload_dir 변수가 권한이 없는 디렉토리를 지정하는 경우, move_uploaded_file 함수는 에러를 발생시키지 않습니다.
위의 문제를 해결하기 위해 다음 코드를 사용할 수 있습니다.
#hostingforum.kr
php
$upload_dir = './uploads/';
$filename = $_FILES['file']['name'];
$file_tmp = $_FILES['file']['tmp_name'];
if (move_uploaded_file($file_tmp, $upload_dir . $filename)) {
echo '파일이 성공적으로 업로드되었습니다.';
} else {
echo '파일 업로드에 실패했습니다.';
}
위의 코드는 move_uploaded_file 함수의 성공 여부를 확인하여 에러 메시지를 출력합니다.
2025-07-21 00:37