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

Тема: работа с файлами

1 Вопрос. Файлы

Основной единицей хранения данных во внешней памяти является файл.

Файл – это информационная совокупность которая по содержанию представляет собой документ по числу значений – массив, по форме – запись ил блог – записи.

Файлы бывают трех видов по назначениюорганизационные (катологи или папки), организуют хранение прочих файлов. файлы программ, файлы данных обрабатываемых программами.

Файлы различаются по типу: на тип файла указывает расширение имени. Тип определяет формат хранимых данных Т.е. внутренную структуру и организацию данных.

Обработка любого файла выполняется по следующей технологии:

1. проверка существования файла, если нет то сообщение об ошибке

2. открытие файла. В открытом файле работает указатель записи файла. Указатель может перемещаться, отмечая место доступа к содержимому файлу.

3. прочитать записи из файла или записать данные в файл.

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

С:/MyFolder/myfile.txt

если используется обратный слеш то он дублируется.

2 Вопрос. Работа с папками

Создание папки производится с помощью функции mkdir(имя_каталога).

Параметр функции указывает имя создаваемого каталога и может содержать путь к нему.

Функция возвращает значение истина, если папка создана, и ложь в противном случае.

Проверить существование каталога можно с помощью is_dir( имя папки).

Функция возвращает логические значения.

Удаляется папка с помощью функции rmdir (имя папки). Она возвращает логические значения.

Удаляемая папка дБ пустой.

Пользователь должен иметь право на удаление папки.

Открывается папка с пом функции opendir(имя каталога).

В аргументе мб указан путь к открываемому каталогу.

Открытие папки означает получения доступа к ней. Чтение открытой папки выполняется readdir (дескриптор файла(имя буфера)).

Данная функция вовращает имя файла без указания пути к нему. Значение ложь возвращается если папка пуста или достигнут конец каталожных входов.

Чтобы прочесть содержимое папки функция должна вызываться в цикле.

По окончанию работы с папкой она закрывается функцией closedir (дескриптор файла).

Пример:

$dh = opendir(“c:/folder1/folder2”);

vohile (false! = = ($filename = readdir($dh)))

{

echo “$filename <br>”;

}

3 Вопрос Функции работы с файлами

Файл как ресурс открывается встроенной функцией fopen (имя файла, режим).

дАННАя функция возвращает дескриптор файла или логическое значение ложь в случае неудачи.

Дескриптор файла используется в сценарии для обращения к открытому файлу. все параметры функции строкового типа.

режим определяет режим доступа к открытому файлу.

Он может иметь след значение:

'r' – только чтение файла с начала. Если файл не существует функция возвращает ложь с осообщени ем об ошибке.

'r+' – чтение файла с начала с перезаписью данных. Если файл не сущ возвращается ложь с сообщением.

'w' – режим перезаписи данных. если файл существует то он обрезается до нулевой длины, если не сущ делается попытка создать файл.

'w+' – режим чтения и перезаписи данных. Если файл существует он обрезается до нулевой длины, содержимое теряется. сли не сущ то делается попытка создать файл.

'а' – режим добавления данных к концу файла. если файл не сущ делается попытка создать его.

'а+' – режим чтения с добавлением данных в конец файла. Если не сущ делается попытка создать файл.

'х' – файл создается и открывается только на запись с указателем в начале файла. если файл существует функция возвращает значение лож с предупреждением.

'х+' – файл создается и открывается для чтения и записи с указателем в начале файла. Если файл существует возвращается значение ложь с предупреждением.

Удаление файла с диска на сервере unlink (имя файла). Возвращает значение истина при успещном выполнении операции и значение лож с предупреждающем значении в противном случае.

Удалять можно как открытый так и закрытый файл.

Чтение файла выполняется встроенным функциями:

fgets()

file_get_contents()

fread()

fgetss()

fgetcst ()

Считывают содержимое файла в переменную.

file() считывает содержимое файла в массив.

Запись в открытый файл выполняется функцией fwrite ( дескриптор, строка, длина).

Функция возвращает количество записанных в файл байт или ложь в противном случае.

Виндовс для перевода строки используется для служебных символа \r\n.

Параметр длина необязательный. Если длина меньше строки то строка урезается до объявленного количества байтов.

Пример записи

<?

$ fh =@ fopen (“myfile, txt”, “w+”); - открыть файл

$data = date ('d, m, y'), «\r\n пробная запись файл»;

/* Работа с данными*/

fwrite ($ fh,$ data);// запись данных в файл

fclose ($ fh); // закрыть файл

?>

Замена стандартного предупреждения о некорректной работе с файлом пользовательским сообщением выполняется след образом:

$ fh = fopen (“myfile.txt” , “w+”) or exit (“ Не удалось открыть файл”)

Проверка существования папки или файла выполняется с пом функций:

file exist (Имя файла)

Выдает логические значения истина и ложь.

is _dir (Имя файла) – если папка служебная.

Если истина – существует, ложь – нет ее.

is_ file (Имя_файла)

Возвращает логическое значение

Закрытие файла: fclose (дескриптор открытого файла)