Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

26.7. PHP: Доступ к строке файлового пути

Иногда в процессе работы нужно обратиться к определенной части пути файла, чтобы произвести изменения, например, не всего пути, а именно какого-либо отдельного каталога. Изученные выше функции позволяют получать путь, но этот путь нельзя разделить. В этом параграфе мы рассмотрим функции, которые осуществляют более серьезные операции работы с путем к тому или иному файлу:

• pathinfo(),

• realpath().

Для получения информации о файловом имени используют функцию Она возвращает массив значений. Ее синтаксис:

array pathinfo(string path)

В качестве параметра path задается полный путь к файлу. После этого функция передает значения этого пути в массив, при этом соответствующим образом разбивая строку пути. Необходимо заметить, что функция возвращает не просто массив, а ассоциативный массив. Происходитразделение пути на три части, которые заносятся в массив по отдельности. Чтобы вызвать каждую отдельную часть, необходимо воспользоваться параметрами ассоциативного массива: dirname (директория), basename (имя файла) и extension (расширение).

Рассмотрим пример:

<?php

$path = pathinfo("Z:\\home\\localhost\\www\\newname.txt");

echo $path["dirname"]. "\n <br>";

echo $path["basename"]. "\n<br>";

echo $path["extension"]. "\n<br>";

?>

Скрипт выведет следующий результат:

Z:\home\localhost\www

newname.txt

txt

Как видно из результата, в первом случае вывели директорию, во втором — имя файла, в третьем — расширение.

Функция infopath() работает в РНР4—4.0.3.

Функция realpath() возвращает модифицированную строку пути. Ее синтаксис:

string realpath (string path)

Вместо параметра path указывается путь. Функция realpath удаляет все символические связи и разрешенные ссылки вида /./,/../ и дополнительные / особенности во входном пути и возвращает полное составное имя. Заканчивающийся путь не будет иметь никакой символической связи /./ или /../ компонентов. Рассмотрим пример:

<?php

$path = realpath("/../../newname.txt");

echo $path. "\n<br>";

?>

Результатом выполнения скрипта будет следующая строка:

z:\newname.txt

Произошло удаление всех компонентов /, обратите внимание, что функция также произвела замену наклона слеша.

Функция работает PHP 4-4.0b4.

<< Предыдущий параграф Следующий параграф >>
Оглавление