So ist der Code, den ich für deserialisieren bin mit istDer Versuch, mehrere Arrays aus einer Datei in PHP unserialize und nur die erste Linie bekommen
<?php
$uline = unserialize(file_get_contents('phonebook.dat'));
?>
Dies ist für die erste Zeile des ‚phonebook.dat‘ funktioniert, aber die folgende Zeilen werden nicht unsialisiert. Das serialisierte Format ist wie folgt:
a:4:{s:4:"Name";s:8:"John Doe";s:7:"Address";a:4:{s:6:"Street";s:11:"123 Main St";s:4:"City";s:5:"Dover";s:5:"State";s:2:"DE";s:3:"Zip";s:5:"19904";}s:5:"Phone";s:12:"555-555-1234";s:5:"Email";s:16:"[email protected]";}
a:4:{s:4:"Name";s:8:"Jane Doe";s:7:"Address";a:4:{s:6:"Street";s:11:"123 Main St";s:4:"City";s:5:"Dover";s:5:"State";s:2:"DE";s:3:"Zip";s:5:"19904";}s:5:"Phone";s:12:"555-555-5678";s:5:"Email";s:16:"[email protected]";}
a:4:{s:4:"Name";s:15:"Jonny Appleseed";s:7:"Address";a:4:{s:6:"Street";s:15:"1 Infinite Loop";s:4:"City";s:10:"Coopertino";s:5:"State";s:2:"CA";s:3:"Zip";s:5:"90201";}s:5:"Phone";s:12:"555-555-9101";s:5:"Email";s:15:"[email protected]";}
a:4:{s:4:"Name";s:12:"Jack Sparrow";s:7:"Address";a:4:{s:6:"Street";s:15:"The Black Pearl";s:4:"City";s:17:"Cut Throat Island";s:5:"State";s:7:"Tortuga";s:3:"Zip";s:5:"00001";}s:5:"Phone";s:12:"555-555-1213";s:5:"Email";s:14:"[email protected]";}
a:4:{s:4:"Name";s:14:"Luke Skywalker";s:7:"Address";a:4:{s:6:"Street";s:15:"17 Jedi Council";s:4:"City";s:8:"Corasant";s:5:"State";s:2:"XX";s:3:"Zip";s:5:"99999";}s:5:"Phone";s:12:"555-555-1415";s:5:"Email";s:17:"[email protected]";}
Wenn ich rufe die unserialize Funktion ich die ganze „John Doe“ Linie als eine Ausgabe erhalten, kann aber nicht herausfinden, wie der Rest der Datei deserialisieren. Vielen Dank.
Werfen Sie einen Blick auf 'file()', die Ihre Datei in ein Array gelesen wird. Dann möchten Sie jede Zeile einzeln deserialisieren. – Rizier123
https://eval.in/619750 –
@RobbieAverill das funktioniert, wenn ich den Code in die PHP-Datei einfügen, aber wenn ich die eingefügten serialisierten Daten für $ contents = ('phonebook.dat') austauschen; Ich bekomme eine "Notice: unserialize(): Fehler bei Offset 0 von 13 Bytes". Wissen Sie, woraus das sein könnte? – Baker2795