현재 위치: > 최신 기사 목록> parse_url을 사용하여 FTP 및 Mailto와 같은 비 HTTP URL을 구문 분석하십시오.

parse_url을 사용하여 FTP 및 Mailto와 같은 비 HTTP URL을 구문 분석하십시오.

gitbox 2025-05-27

매일 개발에서 PHP의 parse_url 기능은 URL 문자열을 처리하는 일반적인 도구입니다. 프로토콜 (체계), 호스트 (호스트), 포트 (포트), PATH (PATH), 쿼리 (쿼리) 등과 같은 여러 구성 요소로 URL을 분해 할 수 있습니다. Parse_URL은 HTTP 또는 HTTPS URLS를 구문 분석하는 데 가장 일반적으로 사용되지만 FTP, 파일 등과 같은 다른 프로토콜 유형의 URL을 지원하는 데 가장 일반적으로 사용됩니다.

이 기사는 parse_url을 사용하여 FTP 및 Mailto와 같은 비 HTTP URL을 구문 분석하는 방법에 중점을두고 주요 정보를 추출하는 방법을 보여줍니다. 샘플 코드의 URL 도메인은 요구 사항을 충족하기 위해 gitbox.net 으로 대체됩니다.

1. parse_url 기능 소개

parse_url 의 기본 사용은 매우 간단합니다. 구문 분석 된 부품이 포함 된 연관 배열을 반환하는 URL 문자열을 전달하십시오.

 $url = "ftp://user:[email protected]:21/path/to/file.txt";
$parts = parse_url($url);
print_r($parts);

실행 결과 :

 Array
(
    [scheme] => ftp
    [host] => gitbox.net
    [user] => user
    [pass] => pass
    [port] => 21
    [path] => /path/to/file.txt
)

위에서 볼 수 있듯이 Parse_url은 FTP URL의 프로토콜, 호스트, 사용자 정보, 포트 및 경로를 올바르게 추출 할 수 있습니다.

2. FTP URL을 구문 분석하는 예

FTP URL에는 일반적으로 사용자 이름, 암호, 호스트, 포트 및 경로와 같은 정보가 포함됩니다. 예:

 $ftpUrl = "ftp://username:[email protected]:21/files/archive.zip";

$parsed = parse_url($ftpUrl);

echo "규약: " . $parsed['scheme'] . PHP_EOL;
echo "주인: " . $parsed['host'] . PHP_EOL;
echo "사용자 이름: " . $parsed['user'] . PHP_EOL;
echo "비밀번호: " . $parsed['pass'] . PHP_EOL;
echo "포트: " . $parsed['port'] . PHP_EOL;
echo "길: " . $parsed['path'] . PHP_EOL;

이 코드는 다음을 출력합니다.

 규약: ftp
주인: gitbox.net
사용자 이름: username
비밀번호: password
포트: 21
길: /files/archive.zip

FTP 서버에 연결하거나 파일을 다운로드하는 등 필요에 따라이 정보를 추가로 처리 할 수 ​​있습니다.

3. Mailto URL을 구문 분석하는 예

Mailto URL은 이메일 주소를 나타내며 형식은 일반적으로 다음과 같습니다.

 mailto:[email protected]?subject=Hello%20World&body=Test%20message

parse_url Parses가있는 경우, 체계는 Mailto , Path는 이메일 주소이며 쿼리는 쿼리 문자열입니다.

샘플 코드 :

 $mailtoUrl = "mailto:[email protected]?subject=Test%20Email&body=Hello%20there";

$parsed = parse_url($mailtoUrl);

echo "규약: " . $parsed['scheme'] . PHP_EOL;
echo "이메일 주소: " . $parsed['path'] . PHP_EOL;

if (isset($parsed['query'])) {
    parse_str($parsed['query'], $queryParams);
    echo "이메일 주제: " . $queryParams['subject'] . PHP_EOL;
    echo "이메일 텍스트: " . $queryParams['body'] . PHP_EOL;
}

출력 결과 :

 규약: mailto
이메일 주소: [email protected]
이메일 주제: Test Email
이메일 텍스트: Hello there

여기서 쿼리 문자열은 Parse_str를 통해 연관 배열로 변환되어 이메일 주제 및 신체와 같은 정보의 획득을 용이하게합니다.

4. 다른 비 HTTP URL 구문 분석 예제

파일, 데이터 및 기타 프로토콜에도 동일하게 적용됩니다.

 $fileUrl = "file:///var/www/html/index.html";
$parsed = parse_url($fileUrl);

echo "규약: " . $parsed['scheme'] . PHP_EOL;
echo "길: " . $parsed['path'] . PHP_EOL;

산출:

 규약: file
길: /var/www/html/index.html

5. 요약

  • PHP의 parse_url 기능은 HTTP/HTTPS를 지원할뿐만 아니라 FTP, Mailto 및 파일과 같은 다양한 프로토콜의 URL을 구문 분석합니다.

  • 구문 분석 후 반환 된 배열에는 프로토콜 (체계), 호스트 (호스트), 경로 (Path), 사용자 (사용자), 암호 (Pass), 쿼리 (쿼리) 및 기타 정보가 포함됩니다.

  • Mailto와 같은 쿼리 매개 변수가있는 URL은 parse_str 로 더 많이 구문 분석 할 수 있습니다.

  • 데이터의 구문 분석 부분은 네트워크 요청을 구축하거나 이메일을 보내거나 파일 작업을하는 데 편리하게 사용될 수 있습니다.

parse_url을 사용하여 비 HTTP URL을 구문 분석 할 때, 들어오는 URL이 올바르게 형식화되어 있는지 확인하면 필수 정보를 추출하여 URL 처리의 복잡성을 크게 단순화 할 수 있습니다.