Уроки PHP для начинающих


Чтение из файла: функция fread

Для чтения из файла есть две возможности. В этой статье рассмотрим одну из них – с помощью функции fread.

Функция fread позволяет считывать нужное число байтов из файла, связанного  с указателем файла. Записывается это так:

fread (указатель файла, число);

Прежде чем потренироваться с новой функцией, вернёмся к статье Работа с файлами в php: продолжаем создавать скрипт регистрации на сайте, где я предлагал вам самостоятельно добавить в форму поле для ввода e-mail’а и в reg.php – кода для записи e-mail’а в файл.

Я не просто так предлагал это задание, нам это понадобится, когда будем учиться отправлять сообщения на электронный адрес.

Сделали вы это или нет, а я сейчас приведу код для формы в index.php и для reg.php. Кто сделал – проверяйте.

Итак, форма регистрации на сайте:

<form action="reg.php" method="post" name="form1">
<p align="center">
Введите в поле своё имя:<br>
<input name="name" type="text"></p>
<p align="center">Введите в поле свой e-mail:<br>
<input name="email" type="text"></p>

<p align="center">
Введите в поле свой пароль:<br>
<input name="password" type="password"></p>
<p align="center"><input name="submit" type="submit" value="Зарегистрироваться"></p>
</form>

Файл reg.php:

<?php
if (($name == "") || ($password == "") || ($email == "")) // добавили проверку, заполнен ли электронный адрес
{
echo "<p>Форма заполнена не полностью! Вернитесь, пожалуйста, и заполните все поля формы!</p>";
exit ();
}
else
{
$newfile = fopen($name, "w");
fwrite ($newfile, $password);
fwrite ($newfile, "\n");
fwrite ($newfile, $email); // записали в файл e-mail
fwrite ($newfile, "\n"); // переход на новую строку

fclose ($newfile);
echo "<p>Поздравляем Вас, " .$name. ". Регистрация прошла успешно.</p>";
}
?>

Сохранили изменения в index.php и в reg.php. Обновили индексную страницу в браузере – в форме добавилось новое поле:

Уроки php для начинающих

Проверьте, как это работает теперь: со всеми полями заполненными и с не заполненными. Полюбопытствуйте, что в папке сайта прибавилось…

А теперь считаем (от слова "читать", а не "считать") данные из файла с помощью функции fread и выведем результат тут же на страницу.

Вернитесь в reg.php, добавьте код:

<?php
if (($name == "") || ($password == "") || ($email == ""))
{
echo "<p>Форма заполнена не полностью! Вернитесь, пожалуйста, и заполните все поля формы!</p>";
exit ();
}
else
{
$newfile = fopen($name, "w");
fwrite ($newfile, $password);
fwrite ($newfile, "\n");
fwrite ($newfile, $email);
fwrite ($newfile, "\n");
fclose ($newfile);
echo "<p>Поздравляем Вас, " .$name. ". Регистрация прошла успешно.</p>";
}
$file = fopen($name, "r"); //открываем файл имени пользователя для чтения
$n = fread ($file, 100); //считываем из файла, на который указывает переменная $file, сто байтов. Здесь я задал число намеренно значительно большее, чем возможный пароль, чтобы вывести его на страницу весь. Вы же можете поэкспериментировать с разными числами, например, с 1 или 2, а пароль задать длиннее…
echo "<p>Ваш пароль: " .$n. ". Сохраните его.</p>"; //выводим пароль на страницу и предлагаем сохранить его в укромном месте
fclose ($file); //закрываем файл

?>

Сохраним изменения; обновим страницу в браузере; заполним форму; полюбуемся на результат. Если нет ошибок, должно быть выведено сообщение:

«Поздравляем Вас, … (имя). Регистрация прошла успешно. Ваш пароль: … (пароль) … (e-mail). Сохраните его».

С одной стороны, всё работает. Однако, согласитесь, фраза «Ваш пароль: … (пароль) … (e-mail)» выглядит несколько коряво: сказано «Ваш пароль», а следом и «мыло» приписалось. Над этим поработаем в дальнейшем.

А пока всё. Успехов. До встречи >>>>>>

Автор: Андрей Чернобай

P. S. Подпишитесь на безплатную рассылку Вокруг Сайта и получайте на свой электронный адрес новые уроки по созданию сайта.

Оставьте свой отзыв о статье:



Введите цифровой код с картинки*:

Новое на сайте

Другие статьи...

Видеокурсы

Рассылки

"Вокруг Сайта"
подпишитесь и получайте на свой e-mail уроки, книги, статьи, скрипты, а также подарки и скидки на товары, продаваемые с сайта

SmartResponder.ru
Ваше имя: *
Ваш e-mail: *

"PHP-песочница"
- PHP для начинающих: уроки с подробным анализом скриптов, необходимых для вашего сайта:

PHP-песочница
Подписаться письмом

Разделы Сайта