Замечание:
Это расширение было перемещено в репозиторий » 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, такими как ISAPI.
База данных 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. Доступно с PHP 5.2.0 |
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-полей нет.