ProfiPHPProfiPHP
Категория: Функции для работы с файловой системой

Функция Fwrite

Функция Fwrite бинарно-безопасно записывает данные в файл.
int fwrite( resource $handle, string $string [, int $length ] )
Функция Fwrite записывает содержимое String в файловый поток Handle.

Параметр Handle являет собой указатель (resource) на файл, обычно создаваемый с помощью функции Fopen.

В параметре String указывается записываемая строка.

Если передан аргумент Length, запись остановится после того, как Length байтов будут записаны или будет достигнут конец строки String, смотря что произойдет раньше.

Функция Fwrite возвращает количество записанных байт или FALSE в случае ошибки.

В системах, различающих двоичные и текстовые файлы (к примеру, Windows), файл должен быть открыт используя флаг 'b' в конце аргумента Mode функции Fopen.

Если дескриптор Handle был открыт функцией Fopen в режиме "добавление в конец", то вызовы Fwrite будут атомарными (за исключением случая, если размер String превысит размер блока файловой системы, на некоторых платформах, и пока файл хранится на локальной файловой системе). То есть нет необходимости блокировать ресурс с помощью Flock перед вызовом Fwrite, и все данные будут записаны без прерываний.

При повторной записи в файловый указатель, данные будут добавлены в конец содержимого файла:
$fp = fopen( 'file.txt', 'w');
fwrite( $fp, 'a' );
fwrite( $fp, 'bc' );
Результатом примера будет запись в файл 'file txt' строки 'abc', а не 'bc'!

Пример использования:
// Проверим существование и доступность файла для записи:
if ( is_writable( 'file.txt' ) ) {
if ( ! $handle = fopen( 'file.txt', 'a' ) ) {
exit( "Не могу открыть файл file.txt" );
}
if ( fwrite( $handle, "Добавляемая информация" ) === FALSE ) {
exit( "Не могу произвести запись в файл file.txt" );
}
echo "Запись успешно додана.";
fclose( $handle );
} else {
echo "Файл file.txt недоступен для записи";
}

Добавить комментарий

Имя:
Текст комментария: