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;
?>
이 예에서는 선택적 사용자 이름과 암호가 출력되지 않습니다!
사용할 수 있습니다.
$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
'programing' 카테고리의 다른 글
| Boost를 사용하여 XML 파일 읽기 및 쓰기 (0) | 2023.09.24 |
|---|---|
| HTML 태그를 변경하려면 jQuery를 사용하시겠습니까? (0) | 2023.09.19 |
| cv2.imshow 명령이 opencv에서 제대로 작동하지 않습니다. (0) | 2023.09.19 |
| PowerShell Add-Windows 기능을 인식할 수 없음 (0) | 2023.09.19 |
| PowerShell에서 SQL Plus 스크립트를 실행하는 방법 (0) | 2023.09.19 |