http://ru.html.net/tutorials/php/lesson16.php | |
Урок 16: Запись в текстовый файлВ предыдущем уроке мы научились читать из текстового файла. В этом уроке будем записывать в него. Эти два метода очень похожи, но есть одно важное отличие: для записи необходимо наличие права на запись. Это значит, что должен размещаться в директории, в которой у вас есть необходимые права. Если вы работаете локально на своём компьютере, то можете сами установить права: щёлкните правой мышью на папке и выберите "Свойства/Properties". На большинстве вэб-хостов обычно имеется только одна папка с правами записи. Часто она называется "cgi-bin", "log", "databases" и т. п. Если ваш вэб-хост допускает, можно устанавливать права самостоятельно. Обычно можно щёлкнуть правой мышью на папке в FTP-клиенте и выбрать "properties" или "permissions" ил что-то похожее. Скриншот ниже показывает, как это выглядит в FileZilla. См. также страницы поддержки ваших вэб-хостов. Обратите внимание, что именно текстовый файл должен находиться в папке с правами на запись, а не РНР-файл. Открытие текстового файла для записиКак и при чтении текстового файла, функция fopen используется при записи, но на этот раз режим устанавливается "w" (writing) или "a" (appending). Разница между writing и appending в том, как размещается 'курсор' - в начале или в конце текстового файла. В примерах этого урока используется пустой текстовый файл textfile.txt. Но вы можете создать свой собственный файл, если желаете. Сначала попробуем открыть этот текстовый файл для записи: <?php // Открыть текстовый файл $f = fopen("textfile.txt", "w"); // Закрыть текстовый файл fclose($f); ?> Пример 1: Запись строки в текстовый файлДля записи строки мы должны использовать функцию fwrite: <html> <head> <title>Запись в текстовый файл</title> </head> <body> <?php // Открыть текстовый файл $f = fopen("textfile.txt", "w"); // Записать строку текста fwrite($f, "PHP is fun!"); // Закрыть текстовый файл fclose($f); // Открыть файл для чтения и прочитать строку $f = fopen("textfile.txt", "r"); echo fgets($f); fclose($f); ?> </body> </html> Поскольку файл открыть для записи, строка добавляется в начало файла и перезаписывает существующую строку. Если мы открываем файл для appending, строка добавляется в низ файла, который увеличивается на одну строку всякий раз при записи. Пример 2: Добавление блока текста в текстовый файлРазумеется, можно также добавлять целый текстовый блок, а не одну строку: <html> <head> <title>Запись в текстовый файл</title> </head> <body> <?php // Открыть текстовый файл $f = fopen("textfile.txt", "w"); // Записать текст fwrite($f, $_POST["textblock"]); // Закрыть текстовый файл fclose($f); // Открыть файл для чтения и прочитать строку $f = fopen("textfile.txt", "r"); // Читать текст echo fgets($f); fclose($f); ?> </body> </html> В следующих уроках мы разберём другой способ хранения данных: базы данных. |
|