Эти функции позволяют получить доступ к записям в dBase-формате (dbf) базы данных.
Не поддерживаются индексы и мемо(записи) поля. Также не поддерживается блокировка. Два webсервер процесса, одновременно изменяющие файлы dBase вполне возможно повредят вашу базу данных.
В отличие от баз данных SQL, в dBase нельзя изменять определение полей после их создания. Если только файл создан, то поля базы данных фиксировано определены. Не имеется никаких индексов, которые ускоряют поиск или иначе организовывает ваши данные. dBase файлы - это простые последовательные файлы с записями фиксированного размера. Записи добавляются в конец файла и удаленные записи будут присутствовать в вашей базе до тех пор, пока вы не вызовете dbase_pack() функцию.
Мы рекомендуем вы не использовать dBase файлы для профессионального использования фаз данных. Выберете взамен какой-нибудь реальный SQL сервер; MySQL или Postgres лучший выбор для работы вместе с PHP. Поддержка dBase введена для импорта и экспорта ваших данных из и в вашу web базу данных, так как этот формат обычно понимают многие программы, например электронные таблицы, в Windows. Поддержка dBase для любого экспорта или импорта данных хорошо выполняет эти условия.
dbase_create
dbase_create -- создать dBase базу данных
Описание int dbase_create(string filename, array fields);
Параметр fields - это массив из массивов, каждый массив определяет формат одного поля в базе данных. Каждое поле состоит из имени, символа , указывающего тип поля, длины, и точность.
Доступные типы полей:
L Логическое. Не требует длину или точность.
M Мемо. (Помните, что они не поддерживаются в PHP.) Не требует длину или точность.
D дата (сохраненная как ГГГГММДД). Не требует длину или точность.
N Числовое. Это поле имеет и длину и точность(количество цифр после десятичной точки).
C Строка. Имеет длину и не требует точность.
Если создание базы данных успешно, то возвращает dbase_identifier(идентификатор базы данных), в противном случае возвращает false(ложь).
Пример Создание dBase базы данных
// "database" имя $dbname = "/tmp/test.dbf";
// определяем поля $def = array( array("date", "D"), array("name", "C", 50), array("age", "N", 3, 0), array("email", "C", 128), array("ismember", "L") );
// создаем if (!dbase_create($dbname, $def)) print "Error!";
dbase_open
dbase_open -- открыть dBase базу данных
Описание int dbase_open(string filename, int flags);
Параметр flags используется для системного вызова open(). (Обычно 0 только для чтения, 1 только для записи, и 2 для записи и чтения.)
Возвращает dbase_identifier(идентификатор базы данных) для открытой базы данных, или false(ложь) если база данных не была открыта.
dbase_close
dbase_close -- закрыть dBase базу данных
Описание bool dbase_close(int dbase_identifier);
Закрыть базу данных, связанную с dbase_identifier.
dbase_pack
dbase_pack -- упаковывает dBase базу данных
Описание bool dbase_pack(int dbase_identifier);
Упаковывает определенную базу данных (удаляет все записи, помеченные для удаления с помощью dbase_delete_record().
dbase_add_record
dbase_add_record -- добавляет запись в dBase базу данных
Описание bool dbase_add_record(int dbase_identifier, array record);
Добавляет данные из record в базу данных. Если количество полей в заданном record не идентично количеству полей в базе данных, то операция будет прервана и будет возвращено false(ложь).
dbase_delete_record
dbase_delete_record -- удалить запись из dBase базы данных
Описание bool dbase_delete_record(int dbase_identifier, int record);
Помечает запись record to на удаление из базы данных. Чтобы физически удалить запись из базы данных, вы должны вызвать dbase_pack().
dbase_get_record
dbase_get_record -- получить запись из dBase базы данных
Описание array dbase_get_record(int dbase_identifier, int record);
Возвращает данные из записи record в массив. Массив индексирован начиная с 1, и включает в себя поле "deleted", которое установлено в 1 если запись помечена на удаление (смотри dbase_delete_record().)
Все поля преобразовываются в соответствующий PHP тип. (Даты остаются строками.)
dbase_numfields
dbase_numfields -- Выясняет, какое количество полей находится в dBase базе данных
Описание int dbase_numfields(int dbase_identifier);
Возвращает количество полей в определенной базе данных. Номера полей находятся в промежутке с 0 и до dbase_numfields($db)-1, в то время как номера записей начинаются с 1 и до dbase_numrecords($db).
Пример Использование dbase_numfields()
$rec = dbase_get_record($db, $recno); $nf = dbase_numfields($db); for ($i=0; $i < $nf; $i++) { print $rec[$i]." \n"; }
dbase_numrecords
dbase_numrecords -- Выясняет, какое количество записей находится в dBase базе данных
Описание int dbase_numrecords(int dbase_identifier);
Возвращает количество записей в определенной базе данных. Номера записей начинаются с 1 и до dbase_numrecords($db) , в то время как номера полей находятся в промежутке с 0 и до dbase_numfields($db)-1.
8 8 8
|