2011-08-18 4 views
0

모든 페이지의 시작 부분에 약간의 코드가있는 새 프로젝트가 있습니다. 이 일련의 성명서가하는 일에 대한 설명이 필요합니다.도움이 필요 PHP 파일 해석

<?php 
switch($levels) { 
case 1: 
$dir = "../"; 
break; 

case 2: 
$dir = "../../"; 
break; 


case 3: 
$dir = "../../../"; 
break; 

case 4: 
$dir = "../../../../"; 
break; 

case 5: 
$dir = "../../../../../"; 
break; 
} 
function db_info($table,$where,$value,$info,$dir) { 
//the functions just continue from there 

: 나는 다음과 같은 문장으로 시작 것을 볼 나는 include("../queries.php"); 볼 때 $levels = 1;include("../queries.php");

어떤 관련이 있는지를 제외하고 내가 모든 이해

<?php 
session_start(); 
$levels = 1; 
include("../Connections/main.php"); 
include("../queries.php"); 

다음은 오프닝 호출입니다 이것이 내가 따르지 않는 부분입니다. 첫 번째 비트 코드에서 정의한 $levels의 값을 기준으로 $dir에 대한 몇 가지 사례를 제공하는 switch 문이 있다는 것을 알고 있습니다. 그러나 $dir 가치에 대한 이러한 서로 다른 결과는 어떻게 번역됩니까? 이전에 보거나 사용한 적이 있습니까? ../의 약자는 무엇입니까? 감사.

+3

이 코드는 작성하지 않았지만'$ dir' 레벨의 하드 코딩은 나를 겁나게 만듭니다. 전체 블록을'$ dir = str_repeat ("../", $ levels);으로 다시 쓸 수도 있습니다. –

답변

1

이것은 ../입니다. 항상 parent directory을 말하면 더 많은 부모가 더 많습니다. ../ 충분하면 파일 시스템의 루트에 도달 할 수 있습니다 (다만 /을 사용하는 것이 더 나을 것입니다). 이것은 정확히 이것을 달성하는 최선의 방법은 아닙니다.

$dir = str_repeat('../', $level); 

더 명확하고 더 확장 성이 있습니다.

// obviously this would be a better constant name. 
define('PATH_TO_STUFF', dirname(__FILE__)); // use __DIR__ on PHP 5.>=3 

보너스 정보 :

  • ./ = 현재 디렉토리
  • ../ = 상위 디렉토리
  • ./../../ = 조부모 더 나은 옵션은 여전히 ​​단순히 같은 짓을 몇 가지 설정 파일을 가지고하는 것입니다 현재 디렉토리의
  • ./../../foo/../ 폴더의 상위 디렉토리 foo 조부모 디렉토리 (예 : 조부모 디렉토리). (나는 네 아버지, 형제, 조카, 사촌의 이전 룸메이트)
  • / = 파일 시스템 루트 디렉토리.
+0

이 질문에 대한 많은 답변이 있습니다 만, 보너스 정보를 주신 것에 대한 보상을드립니다. . 감사 ;) – Presto

3

../은 현재 디렉토리의 상위 디렉토리를 나타냅니다.

../../은 부모의 부모를 나타냅니다.

0

../은 이전/상위 디렉토리를 의미합니다. 따라서 $level == 1 인 경우 $dir../과 같습니다.

경로를 구성하는 데 dir을 사용해야합니다.