Ich habe etwas zu schaffen, zu kämpfen, die txt-Dateien in eine mySQL-Datenbank speichern. Ich habe es geschafft, etwas zu erstellen, das JSON-Dateien speichert, aber keine TXT-Dateien.Laravel - Speicher eine TXT-Datei mySQL Datenbank
Hier ist die txt-Datei in Frage: http://celestrak.com/NORAD/elements/sbas.txt. Diese TXT-Datei enthält einige Satelliten mit ihren Daten. Jeder Satellit hat genau drei Zeilen, keine Ausnahmen. So zum Beispiel hier ist ein Satellit:
AOR-E (EGNOS/PRN 120)
1 24307U 96053A 17257.68868765 -.00000150 00000-0 00000-0 0 9992
2 24307 2.8040 77.2609 0004175 104.1816 44.8421 1.00271450 76939
Die ersten Zeilen sagen uns, den Namen des Satelliten. Die nächsten beiden Zeilen geben uns einige Parameter, die immer mit den Zahlen 1
und 2
starten. Dieses Format wird sich nicht ändern - den Namen auf der Leitung 0
und die beiden Linien, nachdem sie, die in 1
oder 2
starten.
Was ich in der Lage sein zu wollen, ist eine Zeile für jeden Satelliten zu schaffen - mit den Spalten object_name
für Zeile 0
, tle_line1
für Zeile 1
und tle_line2
für Zeile 2
.
Ich habe es geschafft, etwas zu erstellen, das Daten aus einem JSON-Format in die SQL-Datenbank speichert. Vielleicht können einige davon abweichen?
ich Laravel verwende und Guzzle für die HTTP-Anfragen:
$api = new Client([
'base_uri' => 'http://celestrak.com',
]);
$response = $api->get('jsonlocater');
$data = json_decode($response->getBody()->getContents(), true);
foreach ($data as $attributes) {
$attributes = array_change_key_case($attributes, CASE_LOWER);
Satellites::create($attributes);
}
Sie könnten jede Zeile in einer DB speichern, dann auf Wunsch diese Zeilen kombinieren und die txt-Datei zum Download erstellen? Versuchen Sie das zu tun? – Ice76
@ Ice76 - Ich möchte nur die Daten in der TXT-Datei in der Datenbank gespeichert speichern. –