PHP 현재 디렉토리의 이름 가져 오기


123

내 웹 사이트의 폴더 안에 PHP 페이지가 있습니다.

예를 들어 현재 디렉터리의 이름을 변수에 추가해야합니다.

$myVar = current_directory_name;

이게 가능해?

답변:


247
getcwd();

또는

dirname(__FILE__);

또는 (PHP5)

basename(__DIR__) 

http://php.net/manual/en/function.getcwd.php

http://php.net/manual/en/function.dirname.php

basename()경로의 후행 부분을 가져 오는 데 사용할 수 있습니다. :)

귀하의 경우에는, 당신이 가장 가능성이 사용을 찾고 있습니다 말하고 싶지만 getcwd(), dirname(__FILE__)당신은 필요가 다른 라이브러리를 포함하고 다른 라이브러리에 포함되어있는 파일이있을 때 더 유용하다.

예 :

main.php
libs/common.php
libs/images/editor.php

에서 common.php함수를 사용해야 editor.php하므로

common.php:

require_once dirname(__FILE__) . '/images/editor.php';

main.php:

require_once libs/common.php

common.php 인 경우 그 방법 require'dmain.php의 호출 require_oncecommon.php의지 올바르게 포함 editor.phpimages/editor.php대신 위치를 현재 디렉토리에보고 노력의 main.php실행됩니다.


5
그리고 basename(__DIR__)PHP 5
Xeoncross

이것은 나에게 전체 경로를 제공합니다. 디렉토리 이름을 얻는 방법이 있습니까?
Satch3000

13
@ Satch3000basename(getcwd())
Andreas Wong

2
당신이 포함 또는 필요 사용하는 경우, 참고 __DIR__포함 된 파일의 경로와 NOT 현재 디렉토리입니다
세바스티앙 호린

사용 basename(__DIR__) 나를 위해 일 저장. 공유해 주셔서 감사합니다!
Devner

18

스크립트가 실행 된 디렉토리의 이름 만 가져 오려면 :

//Path to script: /data/html/cars/index.php
echo basename(dirname(__FILE__)); //"cars"


11

예를 들어

Your Path = /home/serverID_name/www/your_route_Dir/

THIS_is_the_DIR_I_Want

작동하는 Soultion :

$url = dirname(\__FILE__);
$array = explode('\\\',$url);
$count = count($array);
echo $array[$count-1];

3
OP는 이미 문제에 대한 답을 받아 들인 것 같습니다. 당신은 분명히 부가가치를 얻었지만 여기에서 당신의 분노를 환기시켜야합니까?
Dutts 2013 년

stackoverflow.com/help/formatting 은 대문자를 사용하지 않고 대담 하게 만드는 방법을 설명 할 것 입니다. 인터넷에서 소리 치는 것을 나타냅니다.
Dutts 2013-06-27

7

실제로 가장 좋은 해결책은 다음과 같습니다.

$cur_dir = explode('\\', getcwd());
echo $cur_dir[count($cur_dir)-1];

디렉토리가 www \ var \ path \ Current_Path 인 경우

그러면 Current_path를 반환합니다.


4
Linux 서버에서는 백 슬래시가 아니라 슬래시를 사용합니다. PHP는 크로스 플랫폼, 참조 할 수있는 마법의 정수가PATH_SEPARATOR
renoirb

2

$myVar = str_replace('/', '', $_SERVER[REQUEST_URI]);

libs / images /index.php
결과 : 이미지


글쎄요. 저는 우리 모두가 Stack Overflow가 인터넷에서 가장 현학적 인 사용자를 가지고 있다는 데 동의 할 것이라고 생각합니다. 그게 요점입니다. 이상한 로케일에서 20 년 후에도 여전히 작동 할 솔루션을 얻으려는 시도는 까다 롭습니다. 우리 중 일부가 망가 졌다면 그것은 영토와 함께 진행됩니다. :) 추신 나는 투표자가 아니었다.
Adam Chalcraft 2019 년

1

PATH가 있고 스크립트가 관심있는 폴더에서 작동하는지 걱정하지 않으려면 다음을 수행하십시오.

basename(parse_url($_GET['dir_link'])['path'],PHP_URL_PATH)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.