PHP: Создание DBF файла

Небольшая заметка о том как создавать DBF файлы средствами PHP, а так же как считывать данные из таких файлов.

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

Ниже приведен листинг кода, формирующего ДБФ файл из MySQL таблицы Users.

<?php
//Имя файла
$filename = "Users.dbf";
//Столбцы
$def = array(
    array("name","C",32,0), //Имя, строка
    array("id","N",8,0), //Идентификатор, целое число
    array("weight","N",2,2), //Вес, дробное
  );
//Создем файл
$DBF = dbase_create($filename, $def);

//Получаем данные из MySQL
$res = mysql_query("SELECT `id`, `name`, `weight` FROM `Users`");
while($row = mysql_fetch_assoc($res))
{
  //Добавляем строку в файл dbf
  dbase_add_record($DBF, array($row["name"], $row["id"], $row["weight"]));
}
//Закрываем указатель на файл
dbase_close($DBF);
?>

Вот и все. После срабатывания скрипта, в его директории должен появиться файл «Users.dbf».

Важно: Стоит помнить о правах доступа на запись в текущей папке!

Для того чтобы почитать данные из дбф файла можно воспользоваться следующим кодом:

<?php
$filename = "Users.dbf";
//Открываем файл для чтения
$dbf = dbase_open($filename, 0);
//Проверяем смогли ли мы открыть файл
if (!$dbf) die("Ошибка!");
$records = dbase_numrecords($dbf);
  for ($i = 1; $i <= $records; $i++) {   
      //выполнение действий с записью $i
  }
dbase_close($dbf);
?>
Запись опубликована в рубрике PHP с метками , , , , , . Добавьте в закладки постоянную ссылку.