Савельева Нина Владимировна
Шрифт:
Запись данных в файл
Функция fwrite
Для того чтобы записать данные в файл, доступ к которому открыт функцией fopen, можно использовать функцию fwrite. Синтаксис у нее следующий:
Эта функция записывает содержимое строки в файл, на который указывает указатель на файл. Если указан дополнительный аргумент длина, то запись заканчивается после того, как записано количество символов, равное значению этого аргумента, или когда будет достигнут конец строки.
В результате своей работы функция fwrite возвращает число записанных байтов или false, в случае ошибки.
Пример 9.3. Пусть в нашей рабочей директории нет файла my_file.html. Создадим его и запишем в него строку текста:
?>
В результате работы этого скрипта в браузере мы увидим сообщение о том, что запись прошла успешно, а в файле my_file.html появится строка "Этот текст запишем в файл.". Если бы этот файл существовал до того, как мы выполнили этот скрипт, все находящиеся в нем данные были бы удалены.
Если же мы напишем такой скрипт:
?>
то к строке, уже существующей в файле my_file.html, добавится еще семь символов из строки, содержащейся в переменной $add_text, т.е. слово «Добавим»
Функция fwrite имеет псевдоним fputs, используемый таким же образом, что и сама функция.
Далее мы рассмотрим, какие методы чтения данных из файла предлагает язык PHP.
Чтение данных из файла
Если мы хотим прочитать данные из существующего файла, одной функции fopen, как и в случае с записью данных, недостаточно. Она лишь возвращает указатель на открытый файл, но не считывает ни одной строки из этого файла. Поэтому для того, чтобы прочитать данные из файла, нужно воспользоваться одной из специальных функций: file, readfile, file_get_contents, fread, fgets и т.п.
Функция fread
Эта функция осуществляет чтение данных из файла. Ее можно использовать и для чтения данных из бинарных файлов, не опасаясь их повреждения. Синтаксис fread такой:
string fread (указатель на файл, длина)
При вызове этой функции происходит чтение данных длины (в байтах), определенной параметром длина, из файла, на который указывает указатель на файл. Параметр указатель на файл должен быть реально существующей переменной типа ресурс, содержащей в себе связь с файлом, открытую, например, с помощью функции fopen. Чтение данных происходит до тех пор, пока не встретится конец файла или пока не будет прочитано указанное параметром длина число байтов.
В результате работы функция fread возвращает строку со считанной из файла информацией.
Как вы заметили, в этой функции параметр длина - обязательный. Следовательно, если мы хотим считать весь файл в строку, нужно знать его длину. PHP может самостоятельно вычислить длину указанного файла. Для этого нужно воспользоваться функцией filesize(имя файла). В случае ошибки эта функция вернет false. К сожалению, ее можно использовать только для получения размера локальных файлов.
Пример 9.4. Прочитаем содержимое файла my_file.html