Programming Language/PHP
[PHP] URL인코딩 & 디코딩
재테크하는 개발자
2019. 9. 13. 15:35
* URL에 공백이나 한글 같은 멀티바이트 문자가 포함되었다면, URL 인코딩이 필요합니다.
● URL 인코딩
: rawurlencode()와 urlencode()함수가 있습니다. 두 함수는 공백 문자를 취급하는 방법이 다릅니다.
rawurlencode()는 공백문자를 %20로 변환하고 urlencode()는 +로 변환합니다.
주로, urlencode()함수는 쿼리 문자열이나 쿠키값으로 사용하는 형식입니다.
$page변수에 인코딩을 해줄 페이지의 파일명을 값으로 넣줍니다.
$path변수에 실제 인코딩을 해주는 함수를 사용하고, 파라미터로 $page변수를 넣어줍니다.
$url 변수에 실제 URL의 도메인과 경로를 붙여서 만들어줍니다.
위처럼 멀티바이트문자가 인코딩 결과를 보실수있습니다.
● URL 디코딩
: 위에서 URL인코딩된것을 디코딩해주는 작업으로써, rawurldecode(), urldecode()함수로 디코딩해줄수있습니다.
처음 URL인코딩해주었던 값을 그대로 $encode변수에 저장해주니다.
그리고 $decode변수에 rawurldecode()함수를 호출해서 파라미터로 해당 변수를 넘겨줍니다.
출력해주면 처음 인코딩되기전의 값이 출력됩니다.