BVIsoft.com - документация, статьи и примеры по PHP. [Назад]

Другие полезные файловые функции[Печать]
Разместил: admin . Раздел: Общие. Опубликовано: 09-20-2007 20:03:18

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

После того, как Вы завершили использовать файл, его необходимо закрыть. Это осуществляется при помощи простенькой функции 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-дисков вы можете скачать по этой ссылке
Источник: http://web-brodilka.ru   Прочитана 521 раз.