현재 위치: > 최신 기사 목록> parse_url 및 basename을 사용하여 파일 이름을 얻으십시오

parse_url 및 basename을 사용하여 파일 이름을 얻으십시오

gitbox 2025-05-26

매일 개발에서 프로토콜, 호스트 이름, 경로 또는 쿼리 매개 변수와 같은 특정 부분을 추출하기 위해 URL을 구문 분석해야합니다. 일부 시나리오에서는 리소스 주소의 이미지 이름, 문서 이름 등과 같이 URL의 경로 부분에 포함 된 "파일 이름"에만 관심이있을 수 있습니다.

PHP에서는 내장 된 parse_url 함수를 사용하여 URL을 다양한 부분으로 나누고 Basename 함수를 결합하여 경로에서 원하는 파일 이름을 추출 할 수 있습니다. 이 기사는 예제와 함께이 프로세스를 구현하는 방법을 설명합니다.

1. parse_url 소개

Parse_url은 PARSING URL을 위해 PHP에서 제공하는 함수입니다. 가능한 키가 포함 된 연관 배열을 반환합니다.

  • 체계 : HTTP, HTTPS와 같은

  • 호스트 : 호스트 이름

  • 포트 : 포트 번호

  • 사용자 : 사용자 이름

  • 패스 : 비밀번호

  • 경로 : 경로 부분

  • 쿼리 : 쿼리 문자열

  • 조각 : 앵커 포인트

기본 사용량은 다음과 같습니다.

 $url = "https://www.gitbox.net/images/photo.jpg?size=large";
$parts = parse_url($url);
print_r($parts);

출력 결과는 다음과 같습니다.

 Array
(
    [scheme] => https
    [host] => www.gitbox.net
    [path] => /images/photo.jpg
    [query] => size=large
)

2. Basename 함수는 파일 이름을 추출합니다

PHP의 베이스 이름 함수는 경로에서 마지막 레벨 파일 이름을 추출 할 수 있습니다. 예를 들어:

 $path = "/images/photo.jpg";
$filename = basename($path); // 결과는입니다 "photo.jpg"

3. parse_url 및 baseName을 조합하여 사용하십시오

먼저 parse_url을 사용하여 URL의 경로를 추출한 다음 Basename을 통해 파일 이름을 얻을 수 있습니다. 완전한 샘플 코드는 다음과 같습니다.

 function extractFilenameFromUrl($url) {
    $parts = parse_url($url);

    if (!isset($parts['path'])) {
        return null; // 그렇지 않다면 path,파일 이름을 추출 할 수 없습니다
    }

    return basename($parts['path']);
}

// 예
$url = "https://cdn.gitbox.net/assets/docs/manual.pdf?download=true";
$filename = extractFilenameFromUrl($url);
echo "추출 된 파일 이름은입니다:$filename"; // 산출: 추출 된 파일 이름은입니다:manual.pdf

4. 파일 이름이 없거나 경로가 비어있는 상황을 처리합니다.

때때로 들어오는 URL에는 다음과 같은 파일 이름이 지정되지 않을 수 있습니다.