Небольшая заметка о том как создавать 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); ?>