programing

URL에 존재하는 변수 값 없이 pph의 url에서 파일 이름만 가져옵니다.

itmemos 2023. 9. 19. 20:51
반응형

URL에 존재하는 변수 값 없이 pph의 url에서 파일 이름만 가져옵니다.

파일 이름을 하나도 없이 얻고 싶습니다.$_GETphp에 있는 URL의 변수 값?

나의 URL은http://learner.com/learningphp.php?lid=1348

나는 단지 그들을 되찾고 싶을 뿐입니다.learningphp.phpURL에서?

이거 어떻게 해요?

사용했습니다.basename()function(함수)이지만 모든 변수 값은 다음과 같습니다.learntolearn.php?lid=1348URL에 있습니다.

작동해야 합니다.

echo basename($_SERVER['REQUEST_URI'], '?' . $_SERVER['QUERY_STRING']);

하지만 당신의 URL에 악의적인 부분이 있으면 조심하세요.

다음 단계에서는 파일, 확장명이 있는 파일, 확장명이 없는 파일을 가져오는 방법에 대한 전체 정보를 보여줍니다.이 기술은 저에게 많은 도움이 됩니다.당신에게도 도움이 되기를 바랍니다.

  $url = 'https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png';
        $file = file_get_contents($url); // to get file
        $name = basename($url); // to get file name
        $ext = pathinfo($url, PATHINFO_EXTENSION); // to get extension
        $name2 =pathinfo($url, PATHINFO_FILENAME); //file name without extension

사용하는 것이 좋습니다.parse_url경로만 검색한 다음 파일 이름만 가져옵니다.basename. 이렇게 하면 쿼리 매개 변수도 피할 수 있습니다.

<?php

// url to inspect
$url = 'http://www.example.com/image.jpg?q=6574&t=987';

// parsed path
$path = parse_url($url, PHP_URL_PATH);

// extracted basename
echo basename($path);

?>

술탄의 답변과 비슷하지만 제가 사용하고 있는 것만 빼면 말입니다.component parse_url경로만 구하려면 parameter를 선택합니다.

사용자의 URL:

$url = 'http://learner.com/learningphp.php?lid=1348';
$file_name = basename(parse_url($url, PHP_URL_PATH));
echo $file_name;

출력: learning php.

Pekka가 말한 대로 사용:

<?php
$url = 'http://www.example.com/search.php?arg1=arg2';

$parts = parse_url($url);

$str = $parts['scheme'].'://'.$parts['host'].$parts['path'];

echo $str;
?>

http://codepad.org/NBBf4yTB

이 예에서는 선택적 사용자 이름과 암호가 출력되지 않습니다!

사용할 수 있습니다.

$directoryURI =basename($_SERVER['SCRIPT_NAME']);

echo $directoryURI;

쿼리 문자열 없이 파일 이름만 가져오는 또 다른 방법은 parse_url과 basename 함수를 사용하는 것입니다.

$parts = parse_url("http://example.com/foo/bar/baz/file.php?a=b&c=d");
$filename = basename($parts["path"]); // this will return 'file.php'

다음 코드를 시도해 봅니다.

PHP 5.4.0 이상의 경우:

$filename = basename(parse_url('http://learner.com/learningphp.php?lid=1348')['path']);

PHP 버전 < 5.4.0의 경우

$parsed = parse_url('http://learner.com/learningphp.php?lid=1348');
$filename = basename($parsed['path']);
$filename = pathinfo( parse_url( $url, PHP_URL_PATH ), PATHINFO_FILENAME ); 

parse_url을 사용하여 URL에서 경로를 추출한 다음 pathinfo가 경로에서 파일 이름을 반환합니다.

여기서의 답변은 URL이 요청에서 오는 것임을 알고 있다고 가정하는데, 이는 매우 분명하지 않을 수 있습니다.일반적인 대답은 다음과 같습니다.

$basenameWithoutParameters = explode('?', pathinfo($yourURL, PATHINFO_BASENAME))[0];

여기서는 그냥 기본 경로를 선택하고, 분할해서 어떤 것도 무시합니다. 그리고 그 이후에 말이죠.

$url = "learner.com/learningphp.php?lid=1348";
$l = parse_url($url);
print_r(stristr($l['path'], "/"));

다음 기능을 사용합니다.

function getScriptName()
{
    $filename = baseName($_SERVER['REQUEST_URI']);
    $ipos = strpos($filename, "?");
    if ( !($ipos === false) )   $filename = substr($filename, 0, $ipos);
    return $filename;
}

늦었을지도 몰라요.

$e = explode("?",basename($_SERVER['REQUEST_URI']));
$filename = $e[0];

언급URL : https://stackoverflow.com/questions/7852296/get-only-filename-from-url-in-php-without-any-variable-values-which-exist-in-the

반응형