CakeFest 2024: The Official CakePHP Conference

Введение

Замечание:

Этот модуль был перемещен в репозиторий » 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

User Contributed Notes

There are no user contributed notes for this page.
To Top