dBase 소개

메모: 이 확장 프로그램은 » PECL 저장소로 이동되었으며 PHP 5.3.0부터 더 이상 PHP와 번들로 제공되지 않습니다.

이 함수를 사용하면 dBase 형식(dbf) 데이터베이스에 저장된 레코드에 액세스할 수 있습니다.

경고 dBase 파일을 프로덕션 데이터베이스로 사용하지 않는 것이 좋습니다. » SQLite를 사용하거나 대신 real SQL 서버를 선택하세요. » MySQL 또는 » Postgres는 PHP에서 일반적으로 선택됩니다. dBase 지원은 파일 형식이 일반적으로 Windows 스프레드시트 및 구성 도우미에서 이해되기 때문에 웹 데이터베이스에서 데이터를 가져오고 내보낼 수 있도록 합니다.

주의 dbase 7.0.0부터 데이터베이스는 Flock()을 통해 자동으로 잠깁니다. 이전에는 잠금에 대한 지원이 없었으므로 동일한 dBase 파일을 수정하는 두 개의 동시 웹 서버 프로세스가 데이터베이스를 망쳤을 가능성이 큽니다. 이것은 다중 스레드 SAPI를 사용하여 프로세스 수준에서 잠금을 구현하는 시스템의 dbase 7.0.0+에서도 발생할 수 있습니다.

dBase 파일은 고정 길이 레코드의 단순 순차 파일입니다. 레코드는 파일 끝에 추가되고 삭제된 레코드는 dbase_pack()을 호출할 때까지 유지됩니다.

dbf 파일 레벨 3(dBASE III+) - 5(dBASE V)만 지원됩니다. 사용 가능한 dBase 필드 유형은 다음과 같습니다.

사용 가능한 필드 유형

Field dBase Type Format 추가 정보
M Memo n/a 이 유형은 PHP에서 지원하지 않으므로 해당 필드는 무시됩니다.
D Date YYYYMMDD 필드 길이는 8로 제한됩니다.
T DateTime YYYYMMDDhhmmss.uuu (FoxPro) 유효성 검사가 수행되지 않습니다. dbase 7.0.0부터 사용 가능합니다.
N Number A number 길이와 정밀도(소수점 뒤의 자릿수)를 선언해야 합니다.
F Float A float number N과 동일합니다.
C String A string 길이를 선언해야 합니다. 데이터를 검색할 때 문자열은 선언된 길이에 맞게 오른쪽으로 공백으로 채워집니다. 너무 긴 문자열은 데이터를 저장할 때 자동으로 잘립니다.
L Boolean T or Y for true, F or N for false, ? for uninitialized. dbase 7.0.0부터 bool(true 또는 false)로 반환되거나 초기화되지 않은 필드의 경우 null로 반환됩니다. 이전에는 int(1 또는 0)로 반환되었습니다.

메모: dbase 7.0.0부터 DBASE_TYPE_FOXPRO 데이터베이스에 대해 nullable 필드가 지원됩니다. 필드가 null을 허용하는 경우 null을 전달하면 해당 플래그가 설정되고 나중에 검색할 때 필드 값은 null이 됩니다.

메모: 색인 또는 메모 필드는 지원되지 않습니다.