정의 및 사용 방법
- PHP 버전
 - 4+
 
base64_decode() 함수는 MIME Base64로 인코딩된 문자열을 원본 데이터로 디코딩한 문자열로 반환합니다.
주로 이메일, HTTP 헤더, JSON 등 텍스트 기반 환경에서 MIME Base64로 인코딩되어 전송된 문자열을 원본 데이터 문자열로 복원할 때 사용됩니다.
특징
- MIME base64로 인코딩된 문자열을 인코딩 이전의 원본 데이터로 디코딩한 문자열로 반환합니다.
 - 디코딩에 실패 시 
false를 반환합니다. 실패는 주로 입력 데이터가 Base64 형식 규격을 만족하지 않을 때 발생합니다(예: 길이 불일치, 잘못된 패딩 등). 
구문
base64_decode(string $string, bool $strict = false): string|false
							매개변수
															$string													 | 
													디코딩할 Base64로 인코딩된 문자열 | 
|---|---|
															$strict													 | 
													옵션.
base64_decode() 함수가 엄격 모드로 동작할지 여부를 제어합니다.
  | 
																	
반환 값
- 성공 시: 디코된 데이터를 문자열로 반환합니다.
 - 디코딩에 성공하면, 함수는 인코딩되기 전의 원본 바이너리 데이터를 담고 있는 문자열을 반환합니다. 이 데이터는 사람이 읽을 수 있는 텍스트일 수도 있지만, 이미지나 파일의 내용과 같이 사람이 이해할 수 없는 문자열 타입의이진 데이터일 수 있습니다.
 
- 실패 시: 
false를 반환합니다. - 실패 원인은 주로 길이 불일치, 잘못된 패딩, 유효하지 않은 문자 등 구조적 오류 때문입니다.
 
- 실패 시: 
 
예제
아래 예제를 통해 각 경우의 base64_decode() 함수 사용법을 알아보세요.
간단한 텍스트 디코딩
base64_decode() 함수는 MIME base64로 인코딩된 문자열을 받아 디코딩된 문자열을 반환합니다. 다음 예제는 base64_encode("Hello, World!")의 결과인 SGVsbG8sIFdvcmxkIQ==를 디코딩하는 과정을 보여줍니다.
$encoded_str = "SGVsbG8sIFdvcmxkIQ=="; // MIME Base64로 인코딩된 문자열
$decoded_str = base64_decode($encoded_str);
echo $decoded_str;
// 출력: Hello, World!
							인코딩된 이미지 파일을 복원하기
MIME Base64로 인코딩되어 전송된 이미지 파일과 같은 바이너리 데이터를 base64_decode() 함수를 사용해서 디코딩하면 원본 파일로 복원할 수 있습니다.
// MIME Base64로 인코딩된 이미지 문자열 읽기
$encoded_image = file_get_contents('encoded_image.txt');
// 원본 이미지 데이터로 디코딩
$image_data = base64_decode($encoded_image);
// 파일로 저장
file_put_contents('decoded_image.png', $image_data);
							부연설명
file_put_contents() 함수는 주어진 파일명으로 파일을 만들어 파일에 데이터를 씁니다.
$strict 옵션 사용
				이 예제는 $strict 옵션의 차이를 정확히 보여줍니다.
$invalid_base64 = "SGVsbG8s@@IFdvcmxkIQ==";
echo "--- strict=false (기본값) --- \n";
// 유효하지 않은 문자(@)를 무시하고 디코딩을 진행합니다.
$result_false = base64_decode($invalid_base64);
var_dump($result_false); 
// 출력: string(13) "Hello, World!"
echo "\n--- strict=true --- \n";
// 유효하지 않은 문자(@)를 발견하면 즉시 실패하고 false를 반환합니다.
$result_true = base64_decode($invalid_base64, true);
var_dump($result_true); 
// 출력: bool(false)