Прямая работа с данными из файлов

May 4, 2010 by admin Комментировать »

В предыдущей стати описаны широкие возможности для работы с файлами в РНР. Однако это не всегда удобно. Особый дискомфорт вызывает необходимость постоянно открывать и закрывать файлы, контролировать количество записанных или прочитанных байтов. Во многих случаях эти операции являются лишними. Каким же еще образом можно считать данные из файла и записать данные в файл? Рассмотрим несколько вариантов.

Получение данных из файла прямо в массив производится с помощью функции file О . Рассмотрим ее краткий синтаксис.

array file (string filenetme)

Особенностью данной функции является то, что она возвращает массив строк текстового файла. Например, в файле test.txt содержится текст, записанный следующим образом.

Маша Петя Коля Миша

Этот текст можно легко превратить в массив из четырех элементов и просмот­реть его структуру.

<?php

$names = file("test.txt");

print_r($names);

?>

Для вывода на экран форматированных результатов достаточно совместить file О и foreach.

<?php

$names = file("test.txt"); foreach ($ncimes as $key=>$value) {

echo $key . "-e имя: " . $value . "<br>"i

}

?>

В результате работы данного скрипта на экране должен появиться примерно та­кой текст.

0- е имя: Маша

1- е имя: Петя

2- е имя: Коля

3- е имя: Миша

Не СТОИТ забывать, что нумерация элементов массива в РНР начинается с нуля, что в данном случае не представляет проблемы.

Для получения данных из файла или записи в файл также подойдут функции file_get_contents() и file_put_contents().

Функция f ile_get_contents () имеет следующий краткий формат записи.

string file_get_contents (string filename)

Вот пример ее использования.

<?php

$names = file_get_contents("test.txt");

echo $ncunes;

?>

Bee содержимое test. txt будет выведено на экран в результате отработки дан­ного скрипта.

Очень интересной и мощной функцией, которая появилась только в РНР 5, яв­ляется функция f ile_put_contents (). С ее помощью можно не просто вносить данные в файл, но и довольно тонко настраивать параметры процедуры этого вне­сения.

Краткий синтаксис функции следующий.

int file_put_contents (string fileneime, mixed data [, int flags])

При использовании данной функции информация data заносится в файл filencune. Если параметр flags отсутствует, то данные в файле filename будут стерты и запишется только новая информация. Если в качестве значения flags указать FILE_APPEND, то данные допишутся в конец файла. И наконец, если файла не существует, то функция попытается сначала создать его. Пример использования функции.

<?php

$string = "hello world!";

file_put_contents("test.txt",$string,FILE_APPEND); ?>

Недаром параметр data в описании синтаксиса функции имеет тип mixed. Дело в том, что в качестве записываемой информации может выступать не только стро­ка, но и. например, одноуровневый массив. Рассмотрим следующий пример.

<?php

$string = array("РНР", "ASP", "JSP");

file_put_contents("test2.txt",$string,FILE_APPEND);

?>

При выполнении скрипта в файл test2.txt запишется строка "PHPASPJSP", т.е. произойдет слияние всех элементов записываемого массива в одну строку.

Оставить комментарий

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