需要帮助解释PHP文件

时间:2011-08-18 17:17:55

标签: php interpreter switch-statement

我有一个新项目,每个页面的开头都有一些代码。我需要对这一系列陈述的内容做一些澄清。这是开场白:

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

除了$levels = 1;include("../queries.php");

的关联之外,我了解所有内容

当我查看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语句根据$dir的值在{1}}提供了几个案例,该值在第一位代码中定义。但$levels值的这些不同输出如何转换?这是你以前见过或使用过的东西吗? $dir代表什么?感谢。

3 个答案:

答案 0 :(得分:3)

../指的是当前目录的父目录。

../../是指父母的父母。等

答案 1 :(得分: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的父目录(即祖父目录)。 (我是你父亲,兄弟,侄子,堂兄的前室友)
  • / =文件系统根目录。

答案 2 :(得分:0)

../表示上一个/父目录。因此,如果$level == 1,则$dir将等于../

其他必须使用dir来构建路径。