차이점 이해: PHP_SELF, PATH_INFO, SCRIPT_NAME, REQUEST_URI
서버 측 애플리케이션을 개발할 때 요청의 정확한 주소를 결정하는 것은 탐색 및 처리에 매우 중요합니다. 이 기사에서는 PHP 슈퍼 전역 변수인 PHP_SELF, PATH_INFO, SCRIPT_NAME 및 REQUEST_URI를 비교하여 차이점과 안정성을 명확하게 설명합니다.
PHP_SELF
PHP_SELF는 현재 실행 중인 스크립트를 나타냅니다. 해당 값에는 하위 디렉터리 또는 쿼리 문자열을 포함하여 스크립트의 전체 URI가 포함됩니다. 제공된 예에서 mod_rewrite를 사용하여 요청을 메인 컨트롤러로 라우팅하는 경우 PHP_SELF는 실제 요청된 URL에 관계없이 항상 "index.php"입니다.
PATH_INFO
PATH_INFO에는 스크립트 이름과 쿼리 문자열 뒤에 오는 URI 부분. 스크립트와 관련된 경로 정보를 나타냅니다. 동일한 예를 사용하여 요청된 URL이 "http://www.example.com/faq/whatever"인 경우 PATH_INFO는 "/faq/whatever"를 보유합니다.
SCRIPT_NAME
SCRIPT_NAME 현재 실행 중인 스크립트의 전체 경로와 파일 이름을 제공합니다. 대부분의 경우 PHP_SELF와 유사하지만 RewriteBase와 함께 mod_rewrite를 사용하거나 요청이 하위 요청인 경우에는 다릅니다. mod_rewrite 예에서 SCRIPT_NAME은 "index.php" 대신 "/test.php"입니다.
REQUEST_URI
REQUEST_URI에는 쿼리 문자열을 포함하여 클라이언트가 보낸 전체 URI가 포함됩니다. . 이는 요청된 URL을 가장 완벽하게 표현한 것입니다. 그러나 비어 있지 않은 쿼리 문자열, 서버 측 리디렉션 또는 HTTP 오류(예: 404)와 같은 특정 조건에서는 SCRIPT_NAME 및 PHP_SELF와 다를 수 있습니다.
비교 및 신뢰성
다음 예는 이러한 슈퍼 전역 변수 간의 차이점을 보여줍니다.
-
요청된 URL이 "http://example.com/test.php/foo/bar" 형식인 경우:
- PHP_SELF: /test.php/foo/bar
- SCRIPT_NAME: /test.php
- PATH_INFO: /foo/bar
-
비어있지 않은 쿼리 문자열을 입력한 경우(http://example.com/test.php?foo=bar):
- PHP_SELF: /test.php
- SCRIPT_NAME: /test.php
- PATH_INFO: (비어 있음)
- REQUEST_URI: /test.php?foo=bar
-
서버측 리디렉션이 적용되는 경우:
- PHP_SELF: /test.php(원래 요청)
- SCRIPT_NAME: /test2.php(리디렉션된 요청)
- REQUEST_URI: /test.php(원래 요청)
이러한 예를 기반으로 REQUEST_URI는 요청된 URL에 대한 가장 포괄적인 표현을 제공합니다. 그러나 서버측 리디렉션이나 HTTP 오류의 영향을 받을 수 있습니다. PHP_SELF 및 SCRIPT_NAME은 일반적으로 스크립트 주소를 결정하는 데 신뢰할 수 있지만 PATH_INFO는 mod_rewrite를 사용할 때 특정 경로 정보를 추출하는 데 유용할 수 있습니다.
위 내용은 PHP_SELF, PATH_INFO, SCRIPT_NAME, REQUEST_URI의 차이점은 무엇이며 어떤 것을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

종종 키워드와 추적 매개 변수로 혼란스러워하는 긴 URL은 방문자를 방해 할 수 있습니다. URL 단축 스크립트는 솔루션을 제공하여 소셜 미디어 및 기타 플랫폼에 이상적인 간결한 링크를 만듭니다. 이 스크립트는 개별 웹 사이트 a에 유용합니다

Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

이것은 Laravel 백엔드가있는 React Application을 구축하는 데있어 시리즈의 두 번째이자 마지막 부분입니다. 이 시리즈의 첫 번째 부분에서는 기본 제품 목록 응용 프로그램을 위해 Laravel을 사용하여 편안한 API를 만들었습니다. 이 튜토리얼에서는 Dev가 될 것입니다

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

2025 PHP Landscape Survey는 현재 PHP 개발 동향을 조사합니다. 개발자와 비즈니스에 대한 통찰력을 제공하는 프레임 워크 사용, 배포 방법 및 과제를 탐색합니다. 이 조사는 현대 PHP Versio의 성장을 예상합니다

이 기사에서는 Laravel 웹 프레임 워크에서 알림 시스템을 탐색 할 것입니다. Laravel의 알림 시스템을 사용하면 다른 채널을 통해 사용자에게 알림을 보낼 수 있습니다. 오늘은 알림을 보낼 수있는 방법에 대해 논의합니다


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음
