PHP
URL을 세분화하는 방법
수색…
소개
PHP를 코딩 할 때 URL을 여러 조각으로 나눌 필요가있는 위치에 자신을 가질 가능성이 큽니다. 필요에 따라 여러 가지 방법이 있습니다. 이 기사에서는 이러한 방식을 설명하여 가장 적합한 방법을 찾을 수 있습니다.
parse_url () 사용하기
parse_url () :이 함수는 URL을 파싱하고 존재하는 URL의 다양한 구성 요소 중 하나를 포함하는 연관 배열을 반환합니다.
$url = parse_url('http://example.com/project/controller/action/param1/param2');
Array
(
[scheme] => http
[host] => example.com
[path] => /project/controller/action/param1/param2
)
분리 된 경로가 필요한 경우 폭발을 사용할 수 있습니다.
$url = parse_url('http://example.com/project/controller/action/param1/param2');
$url['sections'] = explode('/', $url['path']);
Array
(
[scheme] => http
[host] => example.com
[path] => /project/controller/action/param1/param2
[sections] => Array
(
[0] =>
[1] => project
[2] => controller
[3] => action
[4] => param1
[5] => param2
)
)
섹션의 마지막 부분이 필요한 경우 end ()를 다음과 같이 사용할 수 있습니다.
$last = end($url['sections']);
URL에 GET VAR이 포함되어 있으면 해당 URL도 검색 할 수 있습니다.
$url = parse_url('http://example.com?var1=value1&var2=value2');
Array
(
[scheme] => http
[host] => example.com
[query] => var1=value1&var2=value2
)
쿼리 vars를 분석하려면 다음과 같이 parse_str ()을 사용할 수 있습니다.
$url = parse_url('http://example.com?var1=value1&var2=value2');
parse_str($url['query'], $parts);
Array
(
[var1] => value1
[var2] => value2
)
explode () 사용하기
explode () : 문자열의 배열을 반환합니다. 각 문자열은 문자열 구분 기호로 형성된 경계에서 문자열을 분할하여 구성된 문자열의 부분 문자열입니다.
이 함수는 꽤 간단합니다.
$url = "http://example.com/project/controller/action/param1/param2";
$parts = explode('/', $url);
Array
(
[0] => http:
[1] =>
[2] => example.com
[3] => project
[4] => controller
[5] => action
[6] => param1
[7] => param2
)
다음을 수행하여 URL의 마지막 부분을 검색 할 수 있습니다.
$last = end($parts);
// Output: param2
다음과 같이 수학 연산자와 함께 sizeof ()를 사용하여 배열 내부를 탐색 할 수도 있습니다.
echo $parts[sizeof($parts)-2];
// Output: param1
basename () 사용하기
basename () : 파일이나 디렉토리에 대한 경로를 포함하는 문자열이 있으면이 함수는 후행 이름 구성 요소를 반환합니다.
이 함수는 URL의 마지막 부분 만 반환합니다.
$url = "http://example.com/project/controller/action/param1/param2";
$parts = basename($url);
// Output: param2
URL에 더 많은 요소가 있고 필요한 것이 dirname ()과 함께 사용할 수있는 파일을 포함하는 dir 이름입니다.
$url = "http://example.com/project/controller/action/param1/param2/index.php";
$parts = basename(dirname($url));
// Output: param2
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow