>  기사  >  백엔드 개발  >  PHP는 URL 매개변수를 인코딩 및 디코딩합니다.

PHP는 URL 매개변수를 인코딩 및 디코딩합니다.

伊谢尔伦
伊谢尔伦원래의
2017-04-20 13:48:0221392검색

1. URL에서 전달된 매개변수를 인코딩합니다.

URL을 사용하여 매개변수 데이터를 전달한다는 것은 URL 주소 뒤에 적절한 매개변수를 추가하는 것을 의미합니다. URL 엔터티는 이러한 매개변수를 처리합니다. 다음 형식으로 사용됩니다.

PHP는 URL 매개변수를 인코딩 및 디코딩합니다.

분명히 이 방법은 매개변수를 노출하므로 안전율이 낮습니다. 따라서 이 장에서는 이 문제에 대한 URL 인코딩 방법, 즉 URL이 전달하는 매개변수를 인코딩하는 방법을 설명합니다.

URL 인코딩은 브라우저가 양식 입력 데이터를 패키지화하기 위해 사용하는 형식입니다. 주소 표시줄에 매개변수를 전달하기 위한 인코딩 규칙입니다. 매개변수에 공백이 있으면 URL을 사용하여 매개변수를 전달할 때 오류가 발생하며, URL 인코딩 후에는 공백이 %20으로 변환되므로 오류가 발생하지 않습니다. 중국어를 인코딩하는 것도 동요의 경우인데, 가장 중요한 점은 전달되는 매개변수에 숨겨진 역할을 한다는 점이다.

권장 매뉴얼: php 완전 자습 매뉴얼

PHP에서 쿼리 문자열의 URL 인코딩, urlencode() 함수를 통해 얻을 수 있습니다. 이 함수의 구문은 다음과 같습니다:

urlencode(string)

urlencode() 함수는 문자 변환을 구현합니다. 문자열은 URL로 인코딩됩니다.

다음 예에서는 URL이 전달한 매개변수 값을 인코딩하는 데 urlencode() 함수가 사용됩니다. 표시되는 문자열은

URL 인코딩된 문자열입니다. 표시:

<?php
  $url = urlencode(&#39;PHP中文网&#39;);  //把 PHP中文网 进行编码
  echo "index.php?id=".$url;
?>

브라우저에 실행 주소를 입력하고 Enter 키를 누르면 아래와 같이 실행 결과가 나타납니다.

index.php?id=PHP%E4%B8 %AD%E6%96%87%E7%BD%91

참고:

서버의 경우 인코딩 전과 후의 문자열에 차이가 없으며 서버의 경우 자동으로 인식할 수 있습니다. 여기서의 주요 목적은 URL 인코딩을 사용하는 방법을 설명하는 것입니다. 실제 애플리케이션에서는 일부 비기밀 매개변수를 인코딩할 필요가 없으며 독자는 실제 상황에 따라 이를 선택적으로 사용할 수 있습니다.

2. URL이 전달한 매개변수를 디코딩합니다.

$_GET[] 메소드를 사용하여 URL이 전달한 매개변수를 직접 가져옵니다. URL로 암호화된 쿼리 문자열의 경우 획득한 문자열을 urldecode() 함수를 통해 디코딩해야 합니다. 이 함수의 구문은 다음과 같습니다.

urldecode(string)

urldecode() 함수는 URL로 인코딩된 문자열을 인코딩할 수 있습니다.

위 예에서 urlencode() 함수는 "PHP 중국어 웹사이트"를 인코딩하여 "PHP%E4%B8%AD%E6%96%87%E7%BD%91"로 변환합니다. .

여기 예제에서는 urlencode() 함수를 사용하여 얻은 인코딩을 디코딩하고 디코딩된 결과를 출력합니다. 구현된 코드는 다음과 같습니다.

<?php
 $url = urldecode("PHP%E4%B8%AD%E6%96%87%E7%BD%91");  // 把编码还原成 PHP中文网
 echo  $url;
?>

실행 결과는 다음과 같습니다.

PHP 중국어 사이트

여기서 명확하게 볼 수 있습니다. urldecode () 함수는 urlencode() 함수로 인코딩된 문자열을 복원합니다.

추천 관련 기사:
1.PHP는 URL 인코딩을 위해 urlencode() 함수를 어떻게 사용합니까? (코드예시)
2.PHP는 Url의 한자를 어떻게 인코딩하고 디코딩하나요? (사진 + 영상)
관련 영상 추천 :
1.Dugu Jiujian (4)_PHP 영상 튜토리얼

위 내용은 PHP는 URL 매개변수를 인코딩 및 디코딩합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.