Нужна помощь в интерпретации PHP-файла - PullRequest
0 голосов
/ 18 августа 2011

У меня есть новый проект, в котором есть код в начале каждой страницы.Я нуждаюсь в некоторых разъяснениях относительно того, что делает эта серия заявлений.Вот вступительный звонок:

<?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 на основе значения $levels, которое было определено в первом бите кода.Но как эти разные выходы для значения $dir переводятся?Это то, что вы видели или использовали раньше?Что означает ../?Спасибо.

Ответы [ 3 ]

3 голосов
/ 18 августа 2011

../ относится к родительскому каталогу текущего каталога.

../../ относится к родительскому каталогу родителя.и т.д.

1 голос
/ 18 августа 2011

Это ../ всегда относится к 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 в каталоге grandparent (т. Е. Каталог grandparent). (Я твой отец, брат, племянник, бывший сосед по комнате двоюродного брата)
  • / = корневой каталог файловой системы.
0 голосов
/ 18 августа 2011

../ означает предыдущий / родительский каталог. Так что если $level == 1, то $dir будет равно ../.

Что-то еще должно использовать dir для построения пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...