Ich habe eine Antwort von einem externen Server auf eine Textdatei gespeichert, so dass ich keine Verbindungsanfragen ausführen muss. Stattdessen kann ich vielleicht die Textdatei für meine Manipulationszwecke verwenden, bis ich gelesen werde, um sie erneut zu verbinden. (Auch, meine Verbindungsanfragen auf diese externen Server beschränkt)PHP-Array in Textdatei gespeichert
Hier ist, was ich in einer Textdatei gespeichert haben:
records.txt
Array
(
[0] => stdClass Object
(
[id] => 552
[date_created] => 2012-02-23 10:30:56
[date_modified] => 2012-03-09 18:55:26
[date_deleted] => 2012-03-09 18:55:26
[first_name] => Test
[middle_name] =>
[last_name] => Test
[home_phone] => (123) 123-1234
[email] => [email protected]
)
[1] => stdClass Object
(
[id] => 553
[date_created] => 2012-02-23 10:30:56
[date_modified] => 2012-03-09 18:55:26
[date_deleted] => 2012-03-09 18:55:26
[first_name] => Test
[middle_name] =>
[last_name] => Test
[home_phone] => (325) 558-1234
[email] => [email protected]
)
)
Es ist eigentlich mehr im Array, aber ich bin sicher, 2 sind in Ordnung.
Da dies eine Textdatei ist, und ich vortäuschen möchte, dass dies der eigentliche externe Server ist (mir die gleichen Informationen sendend), wie mache ich es wieder zu einem echten Array?
Ich weiß, ich muss zuerst die Datei öffnen:
<?php
$fp = fopen('records.txt', "r"); // open the file
$theData = fread($fh, filesize('records.txt'));
fclose($fh);
echo $theData;
?>
Bisher $theData
ist ein String-Wert. Gibt es eine Möglichkeit, es zurück in das Array zu konvertieren, in das es ursprünglich kam?
Sind Sie sicher, können var_export'ed Daten zurück in Array umgewandelt werden? !! FYI, php.net Handbuch sagt eine andere Tatsache: var_export() behandelt keine zirkulären Referenzen, da es fast unmöglich wäre, dafür einen parsierbaren PHP-Code zu generieren. Wenn Sie etwas mit der vollständigen Darstellung eines Arrays oder Objekts tun möchten, verwenden Sie serialize(). – rajukoyilandy
@rajukoilandy: Weder kann serialisieren oder json_encode. Zirkuläre Verweise sind eine Gelegenheit in Objektstrukturen, aber nicht in einfachen Arrays, wie OP sie hat. 'var_export' Dateien sind einfache PHP-Snippets, die normalerweise wieder include() d sind. Man sollte das vorsichtig verwenden, aber es ist für Konfigurationsdateien von unschätzbarem Wert. – mario
var_export ist dasselbe wie print_r oder var_damp – Sergey