#38357 [Opn->Asn]: dbase_open can't open DBase 3 dbf file.
| From: | mike@php.net | Date: | Tue, 08 Aug 2006 14:58:15 +0000 |
| Subject: | #38357 [Opn->Asn]: dbase_open can't open DBase 3 dbf file. | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-100528@lists.php.net to get a copy of this message | ||
ID: 38357
Updated by: mike@php.net
Reported By: rodrigo at fabricadeideias dot com
-Status: Open
+Status: Assigned
Bug Type: Feature/Change Request
Operating System: Linux
PHP Version: 5.1.4
-Assigned To:
+Assigned To: mike
New Comment:
I'll take a look at it.
The php-dev list has been closed long time ago.
Previous Comments:
------------------------------------------------------------------------
[2006-08-08 13:33:27] rodrigo at fabricadeideias dot com
I have a patch available at
<http://dev.ipresto.com.br/downloads/dbase-float.patch>
that implements
floating field support for php's dbase functions.
<off-topic>
I've tried 3 times to subscribe to <php-dev@lists.php.net> to send this
patch without success: there's definitely something wrong with the
subscribe process as I never receive the first email the system is
supposed to send me during the subscription process.
</off-topic>
Please consider it for inclusion. The patch is relative to the relased
5.1.4 version.
------------------------------------------------------------------------
[2006-08-06 22:02:25] rodrigo at fabricadeideias dot com
There are float fields in this dbf file. As per XBase file definition
(<http://www.clicketyclick.dk/databases/xbase/format/data_types.html#DATA_TYPES>)
F fields are floating fields represented as up to 20 digits.
Here is a complete record of the .dbf file (as per Perl reading):
AREA_1: 2984.643
MSLINK: 74
NOME: Porto Acre
PERIMETRO_: 270.266
CODIGO: 1200807
AREA_TOT_G: 2984.643
SEDE: 1
LONGITUDES: -67.533
MAPID: 99
LATITUDESE: -9.588
GEOCODIGO: 1200807
------------------------------------------------------------------------
[2006-08-06 16:01:06] mike@php.net
"F" (float?) fields are not supported, so I changed the report to FR.
Can you post a record with all values, how it should look like?
------------------------------------------------------------------------
[2006-08-06 14:00:44] rodrigo at fabricadeideias dot com
There is a downloadable copy of the dbf file at
<http://dev.ipresto.com.br/downloads/12MU2500G.dbf>.
------------------------------------------------------------------------
[2006-08-06 13:55:05] rodrigo at fabricadeideias dot com
Description:
------------
When trying to open a DBase 3 dbf file I get the following error:
Unable to get header
Warning: dbase_open(): unable to open database 12MU2500G.dbf in
/var/www/localhost/htdocs/shape/dbase_open_bug.php on line 4
I believe this is a DBase 3 file as file returns:
# file 12MU2500G.dbf
12MU2500G.dbf: DBase 3 data file (22 records)
I also believe this file isn't corrupted as both DBD::XBase module for
Perl and OpenOffice Base read the file without problems.
Reproduce code:
---------------
<?php
$db = dbase_open('12MU2500G.dbf', 0);
echo $db ? "Opened.\n" : "Not opened.\n";
?>
Expected result:
----------------
Opened.
Actual result:
--------------
Unable to get header
Warning: dbase_open(): unable to open database 12MU2500G.dbf in
/var/www/localhost/htdocs/shape/dbase_open_bug.php on line 2
Not opened.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=38357&edit=1