Введение

Замечание:

Этот модуль был перемещен в репозиторий » PECL и больше не поставляется с PHP 5.3.0.

Эти функции позволяют получить доступ к записям, хранящимся в DBase-формате (DBF) баз данных.

Внимание

Мы не рекомендуем использовать файлы DBase файлы для использования в промышленной эксплуатации. Лучше выберите » SQLite или какую-либо настоящую базу данных; » MySQL или » Postgres являются наиболее частым выбором при работе с PHP. Поддержка dBase больше нужна для импорта и экспорта данных вашей базы данных, поскольку формат её файлов понятен большинству пакетов электронных таблиц (например, Excel).

Предостережение

С версии dbase 7.0.0, база данных автоматически блокируется с помощью flock(). Ранее поддержки блокировок не было, так что два конкурирующих процесса веб-сервера, изменяющие один и тот же файл dBase могли с лёгкостью испортить базу. Такое может произойти даже и в dbase 7.0.0+ на системах, которые реализуют блокировку на уровне процесса с многопоточными SAPI.

База данных dBase является просто последовательностью файлов с фиксированной длиной записи. Записи добавляются в конец файла и удалённые записи будут (физически) хранится до вызова dbase_pack().

Поддерживаются только dbf-файлы уровня 3 (dBASE III+) - 5 (dBASE V). Доступные типы полей dBase:

Типы полей
Поле dBase тип Формат Дополнительная информация
M Memo n/a Тип не поддерживается PHP, такое поле будет игнорироваться
D Date YYYYMMDD Длина поля ограничена 8
T DateTime YYYYMMDDhhmmss.uuu (FoxPro) Проверка на корректность не производится. Доступно с dbase 7.0.0.
N Number Число Вы должны указать длину и точность (количество цифр после десятичной точки).
F Float Число с плавающей точкой То же, что и N.
C String A string Вы должны указать длину. При получении данных, строка будет дополнена справа пробелами до заявленной длины. Более длинные строки будут обрезаны без предупреждения.
L Boolean T или Y для true, F или N для false, ? - не инициализировано. С dbase 7.0.0, возвращается как bool (true или false), или null для не инициализированных полей. Ранее возвращалось как int (1 или 0).

Замечание:

Начиная с dbase 7.0.0 поддерживаются обнуляемые поля для баз данных DBASE_TYPE_FOXPRO. Если поле обнуляемое. При передаче null будет установлен соответствующий флаг и, при дальнейшем извлечении поля, будет возвращено значение null.

Замечание:

Поддержки для индексов и memo-полей нет.

add a note add a note

User Contributed Notes 1 note

up
0
oto dot brglez at agenda dot si
15 years ago
If you have xls or ods file with data. You can open file in OpenOffice Calc and save the table as dbf (dBase file) and the use this extension to manipulate data.

Usualy this gives better results than just saving as XML. or CSV.
To Top