<? class XML { var $path; var $FileName; var $Key; function XML() {} function ReadDatabase() { $parser = xml_parser_create(); xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0); xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1); xml_parse_into_struct($parser,$data,$values,$tags); xml_parser_free($parser); foreach ($tags as $key=>$val) { if ($key == $this->Key) { $molranges = $val; { $offset = $molranges[$i] + 1; $len = $molranges[$i + 1] - $offset; } } else { continue; } } return $tdb; } function sortdb($odb, $kol, $jak=1) { $i=0; $tdb[$i++]=$d->$kol; return $db; } function utagi($tag) { return $t; } function selectmeny($kol,$co,$tryb=0) { $c=0; switch ($tryb) { case 0: foreach ($this->db as $d) if ($d->$kol==$co) $db2[$c++]=$d; break; case 1: foreach ($this->db as $d) if ($d->$kol>$co) $db2[$c++]=$d; break; } return $db2; } function selectmenydb($db, $kol,$co,$tryb=0) { $c=0; switch ($tryb) { case 0: foreach ($db as $d) if ($d->$kol==$co) $db2[$c++]=$d; break; case 1: foreach ($db as $d) if ($d->$kol>$co) $db2[$c++]=$d; break; } return $db2; } function selectone($kol,$co) { if ($d->$kol==$co) break; else $d=false; else $d=false; return $d; } function elem($v) { $ret=''; if (($v!='')&&($v!='-')) $ret=$v; return $ret; } } class UniR extends XML { function UniR($aa=null) { $this->XML(); $this->Key=\"element\"; if ($aa!=null) foreach ($aa as $k=>$v) {$this->$k = $aa[$k];} } } class UniD extends UniR { var $db; function UniD($filename) { $this->UniR(); $this->FileName=$filename; $this->db = $this->ReadDatabase(); } function parseMol($mvalues) { for ($i=0; $i < count($mvalues); $i++) {$mol[$mvalues[$i][\"tag\"]] =$mvalues[$i][\"value\"]; } return new UniR($mol); } } ?>
Działa to poprawnie u mnie na localhost (PHP4), podobnie na
www.skaruz.com/pb/, nie działa natomiast na www.verdox.pl/pb/ ani na pb.mentat.pl/test3/.
Pojawia się błąd
Kod
Fatal error: Cannot instantiate non-existent class: unid in /home/users/pb/public_html/test3/index.php on line 4
Linia 4 to
Kod
$daneXML = new UniD('dane/komentarze.xml');
Sądzę że jest związane z róznicami pomiędzy PHP4 a PHP5. Jak w prosty sposób to naprawić, aby działało pod obydwoma wersjami?