방법 1: 먼저 현재 파일이 있는 폴더의 길이를 가져온 다음 substr을 사용하여 길이를 가로챕니다.
코드 복사 코드는 다음과 같습니다:
$dirName = str_replace("\", "/", dirname(__FILE__));
$dirNameLength = strlen($dirName);
$currentDirNameLength = $ dirNameLength - strrpos($dirName," /"); //현재 파일이 위치한 폴더의 길이를 가져옵니다!
$parentDirName = substr($dirName,0,-$currentDirNameLength); //세 번째 매개변수가 음수이면 뒤에서부터 [매개변수의 절대값] 문자를 가로채는다는 의미입니다.
방법 2: 현재 파일이 있는 폴더를 파일로 처리합니다(폴더는 실제로 특수 파일이고 모든 것이 파일입니다!!). dirname을 사용하여 dirname을 한 번 중첩합니다.
$parentDirName = dirname(dirname(__FILE__));
위에서 알 수 있듯이 사물에 대한 깊은 이해는 코드의 품질을 크게 향상시킬 수 있습니다!
첨부: PHP가 경로 또는 디렉토리 구현을 얻습니다
PHP가 디렉토리 합계를 얻는 방법은 관련 함수 등을 통해 매직 변수를 사용하는 것입니다. 🎜 >
위 내용은 init.php 파일과 init.php 파일의 내용을 포함하여 현재 파일의 상위 디렉터리를 얻기 위한 PHP 메소드 요약을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.
<?php /** * PHP获取路径或目录实现 */ //魔术变量,获取当前文件的绝对路径 echo "__FILE__: ========> ".__FILE__; echo '<br/>'; //魔术变量,获取当前脚本的目录 echo "__DIR__: ========> ".__DIR__; echo '<br/>'; //dirname返回路径的目录部分,dirname(__FILE__)相当于__DIR__ echo "dirname(__FILE__): ========> ".dirname(__FILE__); echo '<br/>'; //$_SERVER['PHP_SELF']和$_SERVER['SCRIPT_NAME']的结果一般相同,他们都是获取当前脚本的文件名 //只有当php以cgi方式运行时有区别,但是现在几乎找不到以cgi方式运行php了 echo '$_SERVER["PHP_SELF"]: ========> '.$_SERVER['PHP_SELF']; echo '<br/>'; echo '$_SERVER["SCRIPT_NAME"]: ========> '.$_SERVER['SCRIPT_NAME']; echo '<br/>'; //当前执行脚本的绝对路径。记住,在CLI方式运行php是获取不到的 echo '$_SERVER["SCRIPT_FILENAME"]: ========> '.$_SERVER['SCRIPT_FILENAME']; echo '<br/>'; //当前运行脚本所在的文档根目录。在服务器配置文件中定义。 echo '$_SERVER["DOCUMENT_ROOT"]: ========> '.$_SERVER['DOCUMENT_ROOT']; echo '<br>'; //getcwd()返回当前工作目录 echo "getcwd(): ========> ".getcwd(); echo '<br>';