php_mysql_dreamweaver_mx_2004 ÑазÑабоÑка web ÑайÑов.pdf
php_mysql_dreamweaver_mx_2004 ÑазÑабоÑка web ÑайÑов.pdf
php_mysql_dreamweaver_mx_2004 ÑазÑабоÑка web ÑайÑов.pdf
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Глава 15. Управление файлами через Web-интерфейс 357<br />
Давайте предположим, что мы создали в папке articles другую папку, с именем,<br />
скажем, private. Теперь нам нужно перейти в эту папку. Мы щелкаем<br />
кнопку Перейти в папку articles страницы Files.<strong>php</strong>, потом выбираем в раскрывающемся<br />
списке f oider_name имя нужной нам папки (private) и нажимаем<br />
кнопку Перейти. Что произойдет? Посмотрим на приведенный ранее сценарий.<br />
Обработчик РНР сначала поместит имя выбранной нами папки в переменную<br />
$current_dir, а потом, встретив выражение<br />
chdir($_SERVER["DOCUMENT_ROOT"] . $current_dir);<br />
добавит ее к пути корневой папки сайта. А папка private находится вовсе не<br />
там, так что приведенное ранее выражение не выполнится!<br />
Если делать все правильно, то нам будет нужно добавить папку private к текущей<br />
папке, то есть к папке articles, чтобы получить путь /articles/private. Значит, нам как-то нужно отслеживать, щелкнули ли<br />
мы по одной из кнопок Перейти в папку uploads или Перейти в папку articles<br />
либо выбрали нужную нам папку в раскрывающемся списке foider_name.<br />
И соответственно этому формировать путь папки, в которую мы хотим перейти.<br />
Проще всего для этого использовать особое скрытое поле. Давайте создадим<br />
его ВО всех трех формах: uploads_folder, articles_folder И folders_mgmt.<br />
У этого поля будет одинаковое имя — add, но разные значения. В формах<br />
uploads_folder и articles_folder оно будет иметь значение о, а в форме<br />
folders_mgmt — 1.<br />
И еще нам будет нужно как-то сохранить путь папки, просматриваемой<br />
в данный момент. Для этого используем переменную уровня сессии curdir.<br />
И нам останется в очередной раз исправить приведенный ранее сценарий:<br />