在PHP上读取附加到* .dbf文件的* .fpt文件的数据

时间:2018-07-14 18:21:20

标签: php xampp odbc foxpro dbf

我有一个使用Visual Foxpro的软件,因此它使用dbf + cdx + fpt文件存储所有数据。

我的一个项目是从软件中收集所有可能的数据,并使用PHP + HTML + CSS + Bootstrap在网络上显示它们。

我很幸运能做到这一点,到目前为止,该项目看起来很棒。但是现在我遇到了问题,我想知道您是否可以帮助我。

到目前为止,我需要显示的所有数据都在.dbf文件中,但是现在我需要从.fpt文件中获取数据。在PHP上进行连接的方式不允许我显示附加到fpt文件的数据,而只能显示dbf文件中的数据。

到目前为止,我正在使用以下结构来完成此操作:

  1. 在Windows Server上,已安装 XAMPP ,并创建了“ Microsoft Visual FoxPro驱动程序”的ODBC数据源,指向所有dbf文件所在的软件的路径,并将该连接命名为 ConnectSofTo
  2. 要连接到dbf表,我在PHP页面上使用以下代码(例如):

    <?php 
    $conn = odbc_connect("ConnectSofTo", "", "") or die ("Error: could not connect to database"); 
    
    if (!$conn){exit("Connection Failed: " . $conn);} 
    
    $sql="
    SELECT movimentos.ORDEM, movimentos.DATA, movimentos.DOC, movimentos.COD_HASH
    FROM movcliente.dbf AS movimentos
    WHERE movimentos.DATA>={^2017-01-01} AND NOT movimentos.DOC='RCB' 
    ";
    
    $rs=odbc_exec($conn,$sql); 
    
    while(odbc_fetch_array($rs)){
    
    echo odbc_result($rs,"ORDEM")." | ".odbc_result($rs,"COD_HASH")."</br>";
    
    }?>
    

因此,此代码可以正常工作,问题是:COD_HASH字段是一个文本字段,上面有70多个随机字符,我需要在网页上显示它。

该特定文本字段托管在fpt文件上,并且我想知道您是否知道在php页面上显示该文本的方法

谢谢您的关注

1 个答案:

答案 0 :(得分:1)

我将使用一个简单的VFP程序将所有dbf(和fpt)信息提取到一个平面文件(ASCII或UTF8)或XML文件中,这可以是一个编程过程。

VFP可以轻松地将信息提取到xml中。...或执行一个包含const connection = new signalR.HubConnectionBuilder() .withUrl("/notificationHub") .build(); connection.start() .catch(err => console.error(err.toString())); 的小型程序...

PHP可以读取这些文件(XML ...)

我已经使用VFP多年,并试图集成和迁移到Ruby on Rails和Oracle等其他系统。这是我的建议