Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Веб программирование.Начало пути.doc
Скачиваний:
6
Добавлен:
01.04.2025
Размер:
8 Мб
Скачать
☆

Работа с каталогами в рнр

РНР предоставляет набор функций для работы с каталогами: для создания, удаления и вывода оглавления каталогов. Для этого в РНР имеются функции opendir() и closedir (), аналогичные функциям fopen () и fclose () для файлов. Функция opendir () имеет следующий синтаксис:

$dir_reference =opendir($dir_path)

Здесь $dir_path представляет путь к открываемому каталогу. Функция opendir() выведет сообщение об ошибке, если указанный каталог не существует. При успешном завершении opendir () возвратит дескриптор каталога. Функция closedir() принимает единственный параметр - дескриптор каталога из вызова opendir ().

После открытия каталога, его элементы можно прочитать с помощью функции readdir($dir_reference), где $dir_reference — значение, которое возвращает функция opendir (). При успешном завершении функция возвращает строку, содержащую имя одного из файлов каталога. Каждый последующий вызов функции readdir () возвращает очередной файл, пока весь список файлов не будет исчерпан. Если файлов в каталоге больше нет, или произошла ошибка, readdir () вернет значение false. Выведем содержимое папки c:/windows

<?

$dir="c:/windows"; # папка, которую нужно прочитать

if($OpenDir=opendir($dir))

{

while(($file=readdir($OpenDir)) !== false)

if($file != "." && $file != "..")

echo $file."<br>";

}

else echo "нет прав";

?>

Для создания каталога можно использовать функцию mkdir(name), для удаления – rmdir(), для изменения – chdir(). Чтение каталога:

<?php

$dr = @opendir(' /tmp/') ;

if(!$dr) {

echo "Ошибка при открытии каталога /tmp/!<BR>"; exit;

1

while (($filesf] = readdir($dr)) !== false);

print_r(Sfiles);

?>

Поскольку функция readdir() возвращает каждый раз новое имя файла, то каждый файл каталога можно просмотреть только однажды. Если необходимо повторно просмотреть содержимое каталога, РНР предоставляет функцию, которая позволяет "перемотать" оглавление каталога в исходное состояние. Эта функция, называемая rewinddir (), имеет следующий синтаксис: rewinddir($dir_reference)

Полезным является альтернативный метод получения списка файлов, удовлетворяющих определенному критерию (или шаблону). Этой цели служит функция:

glob($filemask [, flags])

Здесь $filemask — это строка, содержащая шаблон поиска (например, *.txt), a flags представляет одну или несколько констант, перечисленных ниже. Значения flags: GL0B_MARK -Добавлять слэш к именам, которые являются каталогами; GL0B_N0S0RT -Не сортировать возвращаемый список файлов; GL0B_N0CHECK -Если нет файлов, совпадающих с шаблоном, вернуть шаблон вместо пустого массива; GL0B_0NLYDIR -Вернуть только каталоги, совпадающие с шаблоном.

Использование функции glob ():

<?php

Sdirectories = glob("/tmp/*", GL0B_0NLYDIR);

$complete = glob("/tmp/*");

Sfiles = array_diff(Sdirectories, $complete);

echo "Каталоги в /tmp/<BR>";

foreach(Sdirectories as $val) ( echo "$val<BR>\n";)

echo "<BR><&aunbi в /tmp/<BR>";

foreach($files as Sval) ( echo "$val<BR>\n";)

?>

PHP и MySQL

MySQL – это многопоточный быстрый сервер баз данных, разработанный компанией TcX. MySQL является идеальным решением для малых и средних приложений, созданных на PHP. MySQL поддерживает стандарт языка запросов SQL и имеет множество расширений к стандарту. MySql сервер загружается автоматически вместе с web – сервером и постоянно работает на компьютере – сервере. MySQL поддерживает трехуровневую структуру: базы данных, таблицы, записи и может работать сразу с несколькими базами данных: