Запись в файлы
Этот раздел описывает, как использовать PHP для записи содержимого в файлы в системах Windows.
PHP содержит функцию fwrite() для записи файлов. Эта функция определена ниже.
fwrite(указатель_файла,строка) – записывает содержимое строки в поток указанного файла. Если задан аргумент length (длина), запись будет остановлена после записи length байтов или достижения конца строки.
Следующий пример иллюстрирует, как записать все содержимое файла:
filewrite.php <?php $filename = "C:/Documents and Settings/Administrator/MyFiles/myfile.txt"; $newfile = @fopen($filename, "w") or exit("Невозможно открыть файл"); $file_contents = "Добавьте эту строку в текстовый файл"; fwrite($newfile,$file_contents); fclose($newfile); ?>Первый шаг состоит в создании переменной для хранения полного пути доступа к файлу, который будет открыт или создан:
$filename = "C:/Documents and Settings/Administrators/MyFiles/myfile.txt";Путь доступа к текстовому файлу myfile.txt хранится в переменной с именем filename. Затем создается указатель файла с именем $newfile и используется с функцией fopen() для открытия файла, указанного в предыдущем разделе. Указатель файла применяется для ссылки на только что открытый файл. Файл открывается в режиме записи:
$newfile = fopen($filename, "w");Указатель файла является переменной PHP, содержащей ссылку на открытый файл. Он будет задействован позже для записи содержимого в открытый файл.
Затем создается переменная с именем $file_contents и ей присваивается строковое значение, которое будет записано в текстовый файл myfile.txt.
Наконец вызывается функция fwrite(). Первый параметр функции fwrite() указывает на имя файла, в который будет записываться содержимое. Второй параметр содержит текст, который будет записываться в открытый файл.
fwrite($newfile, $file_contents);После завершения обработки файла используется функция fclose() для закрытия открытого файла.
В некоторых случаях может понадобиться записать содержимое существующего файла в новый файл. Этот процесс требует использования функций fopen(), fread() и fwrite(). Открывается первый файл, читается его содержимое и записывается в новый файл, который также был открыт. Следующий сценарий показывает реализацию такого процесса:
filecopy.php <?php $fileAname = "C:/MyFiles/PHP/file1.txt";$fileBname = "C:/MyFiles/PHP/file.txt"; $currentfile = fopen($fileAname,"r") or exit("Невозможно открыть файл");$fileAcontents = fread($currentfile,filesize($fileAname)); $newfile = fopen($fileBname,"w"); fwrite($newfile, $fileAcontents); fclose($newfile);fclose($currentfile); echo "Содержимое файла file1.txt скопировано в файл file.txt"; ?>Этот сценарий копирует содержимое "file1.txt" в новый файл "file.txt". Сначала объявляются две переменные $fileAname и $fileBname, которым присваиваются пути доступа к каталогам существующего и нового файла. Функция fopen() используется для открытия текущего файла для чтения его содержимого. Открытый файл присваивается указателю файла $currentfile. Содержимое открытого файла считывается с помощью функции fread() и присваивается переменной $fileAcontents. Затем функция fopen() применяется снова для открытия нового файла. Открытый файл присваивается указателю файла $newfile. Функция fwrite() используется для записи содержимого исходного файла в новый файл. Когда процесс копирования завершается, оба файла закрываются с помощью функции fclose().
Дата добавления: 2015-04-19; просмотров: 562;