2011-08-18 211 views
0

我有一個新的項目,在每個頁面的開頭都有一些代碼。我需要澄清這一系列陳述的作用。這裏是開放的呼叫:需要幫助解釋PHP文件

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

我明白這一切只是當我看着include("../queries.php");我看到,它開始用下面的語句$levels = 1;如何與include("../queries.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 

這是我不遵循的部分。我知道有一個switch語句根據在代碼的第一位定義的$levels的值提供了$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來構造路徑。