티스토리 뷰

오늘도 개발자/PHP

[PHP] URLs

오늘도공대생 2022. 1. 29. 07:49

get_headers()get_meta_tags()는 서버가 클라이언트로서 동작하는 함수 이다.

 

 

get_headers(string $url, bool $associative = false, ?resource $context = null): array|false

HTTP 요청에 대한 응답으로 서버에서 보낸 헤더가 있는 배열을 반환합니다.

예) 기본사용

$url = 'http://www.example.com';
print_r(get_headers($url));
print_r(get_headers($url, true));

출력:

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Date: Sat, 29 May 2004 12:28:13 GMT
    [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
    [4] => ETag: "3f80f-1b6-3e1cb03b"
    [5] => Accept-Ranges: bytes
    [6] => Content-Length: 438
    [7] => Connection: close
    [8] => Content-Type: text/html
)

Array
(
    [0] => HTTP/1.1 200 OK
    [Date] => Sat, 29 May 2004 12:28:14 GMT
    [Server] => Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
    [ETag] => "3f80f-1b6-3e1cb03b"
    [Accept-Ranges] => bytes
    [Content-Length] => 438
    [Connection] => close
    [Content-Type] => text/html
)

get_meta_tags(string $filename, bool $use_include_path = false): array|false

$filename 파일의 <meta> 태그에 대해 한 줄씩 열고 구문 분석합니다. </head>에서 구문 분석이 중지됩니다 

이때 첫번째 인자 $filename은 HTML 파일의 경로(string) 또는 URL 일 수 있습니다.

 

http_build_query()

http_build_query(
    array|object $data,
    string $numeric_prefix = "",
    ?string $arg_separator = null,
    int $encoding_type = PHP_QUERY_RFC1738
): string

제공된 연관(또는 인덱싱된) 배열에서 URL로 인코딩된 쿼리 문자열을 생성합니다.

GET은 기본적으로 데이터를 URL에 담고 그 형태는 https://example.com?board=notice&mode=view&page=1 과 같습니다. 여기서 말하는 쿼리스트링은 ?board=notice&mode=view&page=1 이것으로 PHP에서 연관배열 등을 이러한 형태의 쿼리스트링을 만들기 위해 사용합니다.

echo http_build_query([
    'board' => 'notice',
    'mode'  => 'view',
    'page'  => 1,
]);
/* result to:
board=notic&mode=view&page=1
*/

 

parse_url(string $url, int $component = -1): int|string|array|null|false

이 함수는 URL을 구문 분석하고 존재하는 URL의 다양한 구성 요소를 포함하는 연관 배열을 반환합니다. 

( 배열 요소의 값은 URL 디코딩 되지 않습니다. )

이 기능은 주어진 URL의 유효성을 검사하기 위한 것이 아니라 위에 나열된 부분으로만 분할합니다. 부분 및 유효하지 않은 URL도 허용되며 parse_url() 은 이를 올바르게 구문 분석하기 위해 최선을 다합니다.

$url = 'http://username:password@hostname:9090/path?arg=value#anchor';
// result to:
array(8) {
  ["scheme"]	=>  string(4) "http"
  ["host"]	=>  string(8) "hostname"
  ["port"]	=>  int(9090)
  ["user"]	=>  string(8) "username"
  ["pass"]	=>  string(8) "password"
  ["path"]	=>  string(5) "/path"
  ["query"]	=>  string(9) "arg=value"
  ["fragment"]	=>  string(6) "anchor"
}

 

 

 


URLs

'오늘도 개발자 > PHP' 카테고리의 다른 글

[PHP] JSON (JavaScript Object Notation)  (0) 2022.01.29
[PHP] cURL  (0) 2022.01.29
[PHP] 세션 (Session)  (0) 2022.01.28
[PHP] 네트워크 (Network)  (0) 2022.01.28
[PHP] Date Time  (0) 2022.01.28
댓글