ВНИМАНИЕ! Конкурс по программированию!

Проект Programmers.kz и школа hotPen3D2D предлагает Вам курсы по веб-дизайну, веб-программированию и компьютерной графике. Подробности здесь.

 
Информация к новости
 (голосов: 0)

Другие полезные файловые функции

Категория: WEB-программирование » PHP и MySQL » Уроки PHP

Закрытие файла

После того, как Вы завершили использовать файл, его необходимо закрыть. Это осуществляется при помощи простенькой функции fclose():

fclose($fp);

При этом, она возвращает значение true в случае успешного закрытия файла и false, если файл не был закрыт.

Считывание файла

На данном этапе, клиенты могут совершать заказы без каких-либо проблем, простейший вариант заказа услуг готов. Но нам необходимо узнать, как просмотреть оформленные покупки, чтобы отвезти их покупателю. Давайте вместе создадим интерфейс для того, чтобы мы могли легко считать файл. Сначала впишем в специально созданный php-файл (назовём его prosmotr.php) следующий код:

<html>
<head>
  <title>Просмотр заказов</title>
</head>
<body>
<h1>Продажа дисков</h1>
<h2>Результаты продаж:</h2>
<?
   //Чтение из файла. Каждая покупка находится в каждом элементе массива.
   $orders= file("./zakaz.txt", "a");
   $number_of_orders = count($orders);
   if ($number_of_orders == 0)
   {
     echo "<p><strong>Ничего не было куплено."
         ."Пожалуйста, зайдите позже.</strong></p>";
   }
   echo "<table border=1>
";
   echo "<th bgcolor = "#CCCCFF">CDR</td>
             <th bgcolor = "#CCCCFF">CDR-W</td>
             <th bgcolor = "#CCCCFF">Футляров</td>
             <th bgcolor = "#CCCCFF">Общая сумма</td>
             <th bgcolor = "#CCCCFF">Адрес</td>
         <tr>";
   for ($i=0; $i<$number_of_orders; $i++)
   {
          $line = explode( "	", $orders[$i] );



           echo "<tr><td>$line[0]</td>
                <td align = right>$line[1]</td>
                <td align = right>$line[2]</td>
                <td align = right>$line[3]</td>
                <td align = right>$line[4]</td>
            </tr>";
   } 
?>
</body>
</html>

А затем запустим его. В результате, компьютер сгенерирует таблицу примерно следующего образца.


Давайте подробнее рассмотрим функции, используемые в этом сценарии, а так же другие полезные файловые функции.

Открытие файла для чтения: $orders= file("./zakaz.txt", "r");
Определение конца файла: while (!feof($fp))
Построчное считывание: $order= fgets($fp, 100);
Считывание всего файла: $fp = fopen("./zakaz.txt", "r");
fpassthru;
Считывание символа: while (!feof($fp))
{
$char = fgetc($fp);
if (!feof($fp))
echo ($char==" " ? " <br>": $char);
}
Считывание строк произвольной длины: string fread(int fp, int length);
Выяснение размера файла: echo filesize("$DOCUMENT_ROOT/../zakaz.txt");
Удаление файла: unlink ("$DOCUMENT_ROOT/../zakaz.txt");
Блокирование файлов: bool flock(int fp, int operation);

Возможные значения параметра operation перечислены ниже:

1              Блокировка чтения. Это озночает, что файл 
может использоваться совместно с другими 
читающими приложениями.
2              Блокировка записи. Это монопольный режим. 
Файл не доступен для совместного использования.
3              Снятие существующей блокировки.
+4              Добавление 4 к текущему значению 
параметра operation предотвращает другие попытки 
блокирования во время выполнения текущего 
блокирования
До сих пор во всех рассмотренных примерах использовались двумерные файлы. В следующих статьях будет рассматриваться применение СУБД MySql. Ждите новых обновлений... P.S. Исходные файлы заказа cd-дисков вы можете скачать по этой ссылке
Источник: web-brodilka.ru
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Введите два слова, показанных на изображении: *