현재 페이지가 루트 폴더에 있는지 확인하는 PHP 함수를 만들려고합니다. 그렇다면 PHP는 함수를 실행하거나 반환합니다. 그렇지 않으면 아무것도 수행하지 않습니다. 이것이 어떻게 달성 될 수 있습니까?루트 도메인에 있는지 확인하고 실행하십시오. 그렇지 않으면 실행 하시겠습니까?
감사합니다.
현재 페이지가 루트 폴더에 있는지 확인하는 PHP 함수를 만들려고합니다. 그렇다면 PHP는 함수를 실행하거나 반환합니다. 그렇지 않으면 아무것도 수행하지 않습니다. 이것이 어떻게 달성 될 수 있습니까?루트 도메인에 있는지 확인하고 실행하십시오. 그렇지 않으면 실행 하시겠습니까?
감사합니다.
if ($_SERVER['REQUEST_URI'] == '/' || strpos($_SERVER['REQUEST_URI'], '/' . $_SERVER['SCRIPT_NAME']) === 0) {
// something
} else {
// something else
}
당신은 (웹 스크립트 기본적으로 URL) 루트 URI는 $_SERVER['REQUEST_URI']
내부에 저장된 의미하거나 __FILE__
(또는 $_SERVER['SCRIPT_NAME']
) 내부의 루트 디렉토리가 될 수있는 말인가요?
dirname(__FILE__) == '/';
dirname($_SERVER['REQUEST_URI'])
그가 함수를 포함 파일에 넣으면 어떻게 될까요? 항상 그 * 파일의 디렉토리를 포함하는 파일의 디렉토리가 아니라 그 디렉토리를 포함하는 디렉토리를 리턴하지 않을까요? – webbiedave
그는'$ _SERVER [ 'SCRIPT_NAME']'을 사용할 수 있습니다. – Vyktor
죄송합니다. 명확하지 않은 경우 프로그래밍에 익숙하지 않은 분은 죄송합니다. 내 말은, 함수가 example.com에서 실행되면 뭔가를 반환하지만 example.com/anythingelse에서 실행되면 다른 결과를 반환한다는 것입니다. – user1745555
하지'/ product.php'도 자격이 :
어쨌든, 당신은 URI에 대한
dirname()
, 또는parse_url()
을 사용하여 파일 이름을 제거 다음 두 가지 중 하나를 사용할 수 있습니까? – webbiedave네, 맞습니다. 나는 편집했다. – MrRP
'__FILE__'은 현재 실행중인 파일의 시스템 경로를 포함합니다 (예 :'/ var/www/html/public_html/somefile.php'). 그것은'REQUEST_URI '안에 절대 포함되지 않을 것입니다. – webbiedave