Язык программирования PHP | страница 82




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


>

>$h = fopen("my_file.html","w");

>fclose($h);


?>


Конечно, если не закрывать соединение с файлом, никаких ошибок выполнения скрипта не произойдет. Но в целом для сервера это может иметь серьезные последствия. Например, хакер может воспользоваться открытым соединением и записать в файл вирус, не говоря уже о лишней трате ресурсов сервера. Так что советуем всегда закрывать соединение с файлом после выполнения необходимых действий.


Запись данных в файл


Функция fwrite


Для того чтобы записать данные в файл, доступ к которому открыт функцией fopen(), можно использовать функцию fwrite(). Синтаксис у нее следующий:


>int fwrite ( указатель на файл,

> строка [, длина])


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


В результате своей работы функция fwrite() возвращает число записанных байтов или false, в случае ошибки.


Пример 9.3. Пусть в нашей рабочей директории нет файла my_file.html. Создадим его и запишем в него строку текста:


>

>$h = fopen("my_file.html","w");

>$text = "Этот текст запишем в файл.";

>if (fwrite($h,$text))

> echo "Запись прошла успешно";

>else

> echo "Произошла ошибка при записи данных";

>fclose($h);


?>


В результате работы этого скрипта в браузере мы увидим сообщение о том, что запись прошла успешно, а в файле my_file.html появится строка "Этот текст запишем в файл.". Если бы этот файл существовал до того, как мы выполнили этот скрипт, все находящиеся в нем данные были бы удалены.


Если же мы напишем такой скрипт:


>

>$h = fopen("my_file.html","a");

>$add_text = "Добавим текст в файл.";

>if(fwrite($h,$add_text,7))

> echo "Добавление текста прошло

> успешно
";

>else echo "Произошла ошибка при

> добавлении данных
";

>fclose($h);


?>


то к строке, уже существующей в файле my_file.html, добавится еще семь символов из строки, содержащейся в переменной $add_text, т.е. слово «Добавим»


Функция fwrite() имеет псевдоним fputs(), используемый таким же образом, что и сама функция.


Далее мы рассмотрим, какие методы чтения данных из файла предлагает язык PHP.


Чтение данных из файла