#8. 7 php Запись в файл: fwrite

Для записи данных в файл предназначена функция fwrite, которая имеет следующий синтаксис:

fwrite(resource handle, string string [, int length])

Функция осуществляет запись строки string в файл, заданный своим дескриптором handle. Если указан третий необязательный аргумент length, то запись завершается после вывода заданного количества байт (если до тех пор не встретится конец строки).

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

В примере 1 показывается использование этой функции. В данном случае в файл выводится несколько строчек текста. Для начала следует открыть файл в двоичном режиме при помощи функции fopen (если файл не существует, он будет создан);

<?php
    $handle = fopen("text.txt", "wb");

После этого при помощи функции fwrite осуществляется вывод в файл текста, предварительно записанного в переменную $text. В случае возникновения ошибки выводится соответствующее сообщение. Из рисунка 1 видно, что запись в файл успешно завершена. Легко убедиться в том, что файл text.txt содержит следующие строки:

Просто
строка
текста.

Пример 1. Запись в файл с помощью fwrite

<HTML>
    <HEAD>
        <TITLE>Запись в файл при помощи fwrite</TITLE>
    </HEAD>
    <BODY>
        <CENTER>
            <H1>
                Запись в файл при помощи fwrite
            </H1>
            <?php
                $handle = fopen("text.txt", "wb");
                $text = "Просто\nстрока\nтекста.\n";
                
                if (fwrite($handle, $text) == false) {
                    echo "Ошибка записи в файл 'text.txt'";
                } else {
                    echo "Файл 'text.txt' успешно создан.";
                }
                fclose($handle);
            ?>
        </CENTER>
    </BODY>
</HTML>



Рис. 1. Запись в файл при помощи fwrite

Key Words for FKN + antitotal forum (CS VSU):