Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: создание dbf файла
 
 автор: ~LINA~   (06.12.2011 в 16:50)   письмо автору
 
 

здравствуйте! я создаю dbf файл, но при попытке открыть его в dbf навигаторе возникает ошибка "Неверный размер записи или смещение".. подскажите в чем может быть дело, код ниже:

# Constants for dbf field types
define ('BOOLEAN_FIELD', 'L');
define ('CHARACTER_FIELD', 'C');
define ('DATE_FIELD', 'D');
define ('NUMBER_FIELD', 'N');

# Constants for dbf file open modes
define ('READ_ONLY', '0');
define ('WRITE_ONLY', '1');
define ('READ_WRITE', '2');

$db_file = 'OutData_test.DBF';

$dbase_definition = array (
array ('IDZAKAZ', NUMBER_FIELD, 5, 2),
array ('IDKLIENT', NUMBER_FIELD, 5, 2),
array ('NMKLIENT', CHARACTER_FIELD, 255),
array ('ADR', CHARACTER_FIELD, 255),
array ('PHONE', CHARACTER_FIELD, 255),
array ('FUL', CHARACTER_FIELD, 255),
array ('ART', CHARACTER_FIELD, 255),
array ('QUANTITY', NUMBER_FIELD, 5, 2),
array ('PRICE', NUMBER_FIELD, 11, 2),
array ('DELDATE', DATE_FIELD, 2),
array ('PAYMTYPE', CHARACTER_FIELD, 255)
);

# create dbf file using the
$create = @ dbase_create($db_file, $dbase_definition)
or die ("Could not create dbf file <i>$db_file</i>.");

# open dbf file for reading and writing
$id = @ dbase_open ($db_file, READ_WRITE)
or die ("Could not open dbf file <i>$db_file</i>.");

  Ответить  
 
 автор: cheops   (06.12.2011 в 16:57)   письмо автору
 
   для: ~LINA~   (06.12.2011 в 16:50)
 

Я dbf уже слабо помню, но в глаза бросается вот эта строка
array ('DELDATE', DATE_FIELD, 2),
два символа как-то малова-то для даты... или там UNIXSTAMP-формат?

  Ответить  
 
 автор: ~LINA~   (06.12.2011 в 17:19)   письмо автору
 
   для: cheops   (06.12.2011 в 16:57)
 

ага, убрала, теперь так
$dbase_definition = array (
array ('IDZAKAZ', NUMBER_FIELD, 5, 2),
array ('IDKLIENT', NUMBER_FIELD, 5, 2),
array ('NMKLIENT', CHARACTER_FIELD, 255),
array ('ADR', CHARACTER_FIELD, 255),
array ('PHONE', CHARACTER_FIELD, 255),
array ('FUL', CHARACTER_FIELD, 255),
array ('ART', CHARACTER_FIELD, 255),
array ('QUANTITY', NUMBER_FIELD, 5, 2),
array ('PRICE', NUMBER_FIELD, 11, 2),
array ('DELDATE', DATE_FIELD),
array ('PAYMTYPE', CHARACTER_FIELD, 255)
);
все равно возникает та же ошибка при просмотре((...

  Ответить  
 
 автор: ~LINA~   (06.12.2011 в 17:31)   письмо автору
 
   для: ~LINA~   (06.12.2011 в 17:19)
 

может быть дело в кодировке? у файла обработчика кодировка utf-8

  Ответить  
 
 автор: cheops   (06.12.2011 в 17:35)   письмо автору
 
   для: ~LINA~   (06.12.2011 в 17:31)
 

Вполне может быть, попробуйте создать мини-проект в однобайтной кодировке, чтобы проверить.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования