У меня есть программное обеспечение, использующее Visual Foxpro, поэтому оно использует файлы dbf + cdx + fpt для хранения всех данных.
Одним из моих проектов было собрать все возможные данные из программного обеспечения и показать их в Интернете, используя PHP + HTML + CSS + Bootstrap.
Мне повезло, и проект выглядит потрясающе. Но сейчас у меня проблема, и мне интересно, можете ли вы помочь мне.
Все данные, которые мне нужно показать, были в файле .dbf, но теперь мне нужно получить данные из файла .fpt. Способ, которым я использую для подключения в PHP, не позволяет мне показывать данные, прикрепленные к файлам fpt, только данные из файлов dbf.
На данный момент я использую следующую структуру, чтобы сделать это:
Для подключения к таблицам 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.
Заранее благодарю за внимание
Я бы извлек всю информацию dbf (и fpt) в плоский файл (ASCII или UTF8) или XML-файл с помощью простой программы VFP, которая могла бы быть запрограммированным процессом.
VFP может извлекать информацию в XML легко …. или делать мини-программу, которая включает в себя strtofile
…
И PHP может читать эти файлы (XML …)
Я много лет использую VFP и пытаюсь интегрироваться и переходить на другие системы, такие как Ruby on Rails и Oracle … и это мое мнение
Других решений пока нет …