>  기사  >  백엔드 개발  >  PHP에서 getcwd()와 __FILE__ 메소드의 차이점은 무엇입니까

PHP에서 getcwd()와 __FILE__ 메소드의 차이점은 무엇입니까

怪我咯
怪我咯원래의
2017-07-10 15:42:281426검색

PHP는 magic 상수FILE을 사용하여 현재 파일이 다른 파일에 포함되어 있는지 여부에 관계없이 현재 파일의 절대 경로를 얻을 수 있습니다. 이는 많은 상황에서 매우 유용하지만 때로는 파일을 읽고 쓸 때 등에 사용됩니다. 동작시에는 현재 스크립트의 작업 디렉토리인 php 파일의 진입 경로를 기준으로 하며, 이때 php에서 제공하는 또 다른 함수인 getcwd()를 사용하여 얻을 수 있습니다.

다음 두 가지를 참고하세요. 예제

ch06에 파일 생성 test.php의 내용은 다음과 같습니다.

<?php
$a= getcwd();
//变量a的值为D:\php\zend6.1\ch6
$b=FILE;
//变量b的值为D:\php\zend6.1\ch6\test.php
?>

getcwd()는 파일의 절대 경로를 반환하지만 파일 자체의 이름은 포함하지 않는 것을 볼 수 있습니다. FILE은 파일의 절대 경로를 반환하지만 파일 자체의 이름을 포함합니다. 그런 다음 ch06 프로젝트 아래에 admincp 폴더를 만듭니다. admincp 폴더에 fff.php 파일을 생성합니다. 코드는 다음과 같습니다

<?php
include_once &#39;../test.php&#39;;
echo $a;//变量a中的值是D:\php\zend6.1\ch6\admincp
echo &#39;<pre class="brush:php;toolbar:false">&#39;;
echo $b;//变量b中的值是D:\php\zend6.1\ch6\test.php
?>

test.php 파일이 다른 파일에 포함되어 있는 것을 볼 수 있습니다. test.php 파일에서 getcwd()를 사용하여 얻은 test.php의 경로 변수 a는 포함 후 변경됩니다.

디렉토리 구조

ffff.php가 있는 디렉토리 admincp를 추가하여 파일 위치 지정을 사용할 때 FILE이 더 좋습니다

<?php
define(&#39;PATH_ROOT&#39;,($PATH_ROOT=dirname(FILE))?$PATH_ROOT:&#39;..&#39;);
$PATH_admincp=PATH_ROOT.&#39;\admincp&#39;;
$PATH_picture=PATH_ROOT.&#39;\pciture&#39;;
$PATH_admincp_include=$PATH_admincp.&#39;\include&#39;;
?>
<?php
include_once dirname(FILE).&#39;/../../path.php&#39;;
include_once PATH_ROOT."/con_ini.php";
?>

위 내용은 PHP에서 getcwd()와 __FILE__ 메소드의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.