Иллюстрированный самоучитель по PHP

Файл index.php

Чтобы различить возможные результаты работы функции "комбинация символов найдена в строке на позиции 0" и "комбинация символов в строке не найдена", можно использовать при сравнении сочетание трех знаков равенства – это означает проверку на "тождественность ":

if (strpos ("строка", "символы") ===0)
 {

… будет верно, если "строка" начинается с "символов".

Можно также проверять результат на принадлежность к целым числам:

if (is_integer (strpos ("строка ", "символы")==false)
 {

… выполнится, только если в "строке" "символы" не найдены.

И если переменная не определена или путь в ней не начинается с имени корневой папки или содержит две точки подряд, то выведем содержимое корневой папки – для удобства запишем ее имя в переменную $dirct, с которой мы и будем в дальнейшем работать как с содержащей путь к текущей папке:

$dirct=$begin;
}
else
{

…а если переменная Sfold "в порядке", то в переменную Sdirct поместим именно ее значение:

$dirct=$fold;
}

Выведем заголовок формы менеджера файлов. Заодно и передадим в ссылке на файл со сценарием-обработчиком этой формы (а этот сценарий, согласно нашему плану, располагается в файле zapros.php) путь к текущей папке – в самом деле, откуда обработчик может его еще узнать? При передаче формы переменные, указанные в ссылке на сценарий-обработчик формы, тоже будут ему переданы – вместе с переменными из формы.

echo ("<form action=zapros.php?folder=$dirct method=post>");

В том случае, если текущая папка не является корневой, выведем ссылку на родительскую папку – т. е. ту, которая содержит в себе текущую…

if ($dirct!=$begin)
{

…для чего выделим из пути к текущей папке его часть с начала вплоть до последнего слэша – разделителя директорий; это и будет путь к родительской папке (скажем, если путь к текущей папке – files/folder1/papka1, то путь к родительской папке будет выглядеть как files/folder1):

$back=substr ($dirct, 0, strrpos($dirct, "/"));

Примечание
Команда substr (строка, начало выделения, длина выделения) предназначена для выделения из строки ее части. Строка (или переменная, ее содержащая) должна быть указана в первом параметре команды. Второй параметр – позиция, с которой начинается выделяемая часть (вернее, число символов, которые необходимо пропустить до начала выделения части строки), а третий – количество выделяемых символов
.

Команда strrpos (строка, символ) выдает номер позиции последнего появления указанного в ее втором параметре символа в строке, указанной в ее первом параметре. В вышеприведенной строчке она используется для определения длины вырезаемого из полного пути фрагмента – до последнего слэша.

И выведем ссылку на родительскую папку, попросту передав полученный путь к ней через переменную $fold:

echo ("<a href=index.рbр?:?о1с1=$bаск>Корневая папка</а><br>");

Все это делается, естественно, лишь в том случае, если текущая папка – не корневая.

}
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.