我有一个关于PHP4的旧站点。我想把它移到PHP8,因此我已经开始了工作。我使用dbf类读取dbf文件。但是我不能让它在PHP8上工作。我已经检查了代码并确保没有错误,但仍然无法读取dbf文件。或者我可以阅读,但不能打印信息。
有没有人能在PHP8上使用dbf类,或者有没有人知道如何读取我曾经读过的dbf文件,这些文件可以使用PHP8添加到mysql数据库中。我在这里找到的示例非常古老。我猜是因为dbf文件不再那么常见了。
谢谢你给我小费。
“更新”我让它工作了。在创建一个新的dbf_类时,我得到了一条错误消息“在php的未来版本中,与它们的类同名的方法将不会是构造函数”
因此,我将函数dbf_class()改为函数u construct(),因为该类名为dbf_class。
旧代码:类dbf_类{
var $dbf_num_rec; //Number of records in the file
var $dbf_num_field; //Number of columns in each row
var $dbf_names = array(); //Information on each column ['name'],['len'],['type']
//These are private....
var $_raw; //The raw input file
var $_rowsize; //Length of each row
var $_hdrsize; //Length of the header information (offset to 1st record)
var $_memos; //The raw memo file (if there is one).
function**dbf_class($filename) {**
if ( !file_exists($filename)) {
echo 'Not a valid DBF file !!!'; exit;
}
$tail=substr($filename,-4);
if (strcasecmp($tail, '.dbf')!=0) {
echo 'Not a valid DBF file !!!'; exit;
}
............
新代码:类dbf_类{
var $dbf_num_rec; //Number of records in the file
var $dbf_num_field; //Number of columns in each row
var $dbf_names = array(); //Information on each column ['name'],['len'],['type']
//These are private....
var $_raw; //The raw input file
var $_rowsize; //Length of each row
var $_hdrsize; //Length of the header information (offset to 1st record)
var $_memos; //The raw memo file (if there is one).
function**__construct($filename)**{
if ( !file_exists($filename)) {
echo 'Not a valid DBF file !!!'; exit;
}
$tail=substr($filename,-4);
if (strcasecmp($tail, '.dbf')!=0) {
echo 'Not a valid DBF file !!!'; exit;
}
暂无答案!
目前还没有任何答案,快来回答吧!