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

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

РНР предоставляет набор функций для работы с каталогами: для создания, удаления и вывода оглавления каталогов. Для этого в РНР имеются функции opendir() и closedir. Функция 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;

while (($files) = readdir($dr)) !== false);

print_r(Sfiles);

?>

Здесь символ "@" используется для подавления вывода сообщения об ошибке.

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

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

glob($filemask [, flags])

Здесь $filemask — это строка, содержащая шаблон поиска (напри­мер, *.txt). Значения flags: GLOB_MARK - Добавлять слэш к именам, ко­торые являются каталогами; GLOB_ONLYDIR -Вернуть только каталоги, совпадающие с шаблоном. Использование функции glob ():

<?php

$directories = glob("/tmp/*", GL0B_ONLYDIR);

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

$files = array_diff($directories, $complete);

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

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

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

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

?>

PHP и MySQL

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