> 백엔드 개발 > PHP 튜토리얼 > PHP에서 getcwd(), __DIR__ 및 __FILE__의 기능과 차이점에 대한 자세한 설명

PHP에서 getcwd(), __DIR__ 및 __FILE__의 기능과 차이점에 대한 자세한 설명

小云云
풀어 주다: 2023-03-22 15:32:01
원래의
1434명이 탐색했습니다.

本文主要和大家分享php中getcwd()、__DIR__、__FILE__ 的作用和区别详解,希望能帮助到大家。

php常用获取文件目录的方式如下

getcwd() :显示是 在哪个文件里调用此文件 的目录,可用来获取框架入口文件所在目录。

__DIR__ :当前内容写在哪个文件就显示这个文件目录。

__FILE__ : 当前内容写在哪个文件就显示这个文件目录+文件名,可使用dirname(__FILE__)获取当前文件目录名。


文件目录结构:./test.php、./a/B.class.php

./test.php文件内容如下:

<?php
spl_autoload_register(&#39;sys_autoload&#39;);
function sys_autoload($class){
	$name = str_replace(&#39;\\&#39;,DIRECTORY_SEPARATOR,dirname(__FILE__).&#39;/&#39;.$class.&#39;.class.php&#39;);
	if(file_exists($name)){
		require_once($name);
	}
}
var_dump(\a\B::getPath01());
var_dump(\a\B::getPath02());
var_dump(\a\B::getPath03());
./a/B.class.php文件内容如下:
<?php
namespace a;

class B{
	public $b = [];
	protected static $instance = null;
	public static function init($config=[]){
		if(B::$instance === null){
			B::$instance = new self;
		}
		return self::$instance;
	}

	private function __construct($config=[]){

	}

	public static function getPath01(){
		return getcwd().DIRECTORY_SEPARATOR;
	}

	public static function getPath02(){
		return dirname(__FILE__).DIRECTORY_SEPARATOR;
	}
	public static function getPath03(){
		return __DIR__.DIRECTORY_SEPARATOR;
	}
}
로그인 후 복사

运行./test.php,后返回

string(40) "/Library/WebServer/Documents/arithmetic/" 
string(42) "/Library/WebServer/Documents/arithmetic/a/" 
string(42) "/Library/WebServer/Documents/arithmetic/a/"
로그인 후 복사

위 내용은 PHP에서 getcwd(), __DIR__ 및 __FILE__의 기능과 차이점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿