2017-05-27 4 views
0

Ich muss ein Array in eine XML-Datei verwandeln. Ich habe den folgenden Code:PHP PEAR-Fehler Klasse 'XML_Serializer' nicht gefunden?

<?php 
$nouser = 'There is no user with that ID in the database.'; 
try { 
$handler = new PDO('sqlite:Ebsco.db'); 
$handler->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$name = ''; 
if (isset ($_POST['postname'])) { 
    $name = $_POST['postname']; 
}; 

$query = $handler->query('SELEcT * FROM Users WHERE ID='.$name); 
$User = $query->fetch(PDO::FETCH_ASSOC); 
if ($User) { 

    $Serializer = &new XML_Serializer(); 
    $XML = $Serializer->serialize($User); 
    print_r($XML); 
print_r($Serializer); 
} 
else { 
    echo $nouser; 
} 
} 
catch (PDOException $e) { 
    echo $nouser; 
    die(); 
} 
?> 

Der Code funktioniert gut für das Array abgerufen und zurück zum html als Array übergeben, aber ich habe Probleme mit dem PEAR XML_SERIALIZER. Ich habe die Dateien heruntergeladen und im Ordner php/pear/xml abgelegt (mit Ausnahme von "package", das ich im Hauptordner von birne gelassen habe, da ich keine Ahnung habe, was es zu tun hat) und das phpinfo () um sicherzustellen, dass der include_path zu php/pear führt. Allerdings, wenn ich die XML_SERIALIZER hinzufügen, ich die folgende Fehlermeldung erhalten:

Fatal error: Class 'XML_Serializer' not found in... 

ich PEAR bin hier so nicht sicher, dass ich, wenn ich alles richtig (außer setzen Sie die Dateien in der Bibliothek installiert ist, ist es etwas anderes, was ich tun muss?), oder wenn dies durch ein anderes Problem verursacht wird. Danke

Antwort

0

Sie müssen die Datei manuell hinzufügen, es gibt kein Autoloading mit PEAR1-Paketen, außer Sie selbst.

require_once 'XML/Serializer.php'; 
+0

Danke, das hat funktioniert! –