Первый сайт на PHP


Файловый менеджер в работе - часть 3


Чтобы различить возможные результаты работы функции "комбинация символов найдена в строке на позиции 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) {

для чего выделим из пути к текущей папке его часть с начала вплоть до последнего слэша - разделителя директорий; это и будет путь к родительской папке (скажем, если путь к текущей папке -f iles/folderl/papkal, то путь к родительской папке будет выглядеть как f iles/f olderl):




Начало  Назад  Вперед