Lesen .txt-Dateien mit PHP und speichern Sie Informationen in Variablen
Ich habe zwei text-Dateien, die ich brauche, um zu Lesen
log.txt
2013/04/20 01:08:11
und
data.text
MANUFACTURER: SISYSTEM
MODELNAME: DX1
BIRTHDATE: 19710108
SEX: M
Für log.txt ich brauche speichert das Datum aus der ersten Zeile und speichert Sie in der mySQL-Datenbank.
Für data.txt ich brauche, um Informationen zu speichern, aus jeder Zeile in der Variablen. ich.e:
$manufacturer = SISYSTEM;
$modelname = DX1;
$birthdate = 19710108;
$sex = M;
Für log.txt ich kann einfach nur Lesen, die erste Zeile mit fget und speichern Sie in eine variable. Jedoch für Daten.text, ich habe Schwierigkeiten, herauszufinden wie zum speichern von mehreren Variablen innerhalb der Schleife. Hier ist, was ich habe, so weit, aber ich weiß nicht, wie ordnen Sie die Werte in neue Variablen jedes mal geht es durch die while-Schleife. Jede Hilfe ist willkommen!
<?PHP
$file_handle = fopen("data.txt", "r");
while (!feof($file_handle) ) {
$line_of_text = fgets($file_handle);
$parts = explode(':', trim($line_of_text) );
}
fclose($file_handle);
?>
- verwenden Sie die csv-Datei-Funktionen fgetcsv()
$parts[] = explode(...)
. dann $Teile wird ein array mit name/Wert-Paare.- Warum auf der Erde Sie wollen, legen Sie Sie alle in getrennte Variablen? Du hast keine Ahnung, was war eigentlich holte später...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warum tun Sie müssen Sie in der variable Variablen? Ein assoziatives array ("map") ist der sauberere Ansatz
$result=array()
$result
ist ein assoziatives array am Ende, so rufen Sie die Werte wie gewohnt:$result['MODELNAME']
.Variable Variablen: http://php.net/manual/en/language.variables.variable.php
Verwenden Sie in Ihrer while-Schleife:
Innerhalb der while-vergleichen kann man die Zeile, um zu sehen, welche variable Sie haben, zu Zeichen:
http://php.net/manual/en/function.strcmp.php
Wahrscheinlich könnten Sie einen Schalter
Verwenden arrays.
Ich nehme an, Sie haben gerade ein Beispiel geliefert, von dem, was in jeder Datei, dass diese Muster wiederholen können. Bevor ich Ihre Frage beantworten, ich denke, es ist wichtig Sie sollten wissen, dass die Pflege der Daten in text-Dateien ist ein sehr schlechte Idee, oder viele Gründe.
Nehmen Sie die zweite Datei als Beispiel, du hast 2 Möglichkeiten, wie Sie die Verwaltung dieser Daten in PHP - betrachten Sie Ihre Daten als Tabelle:
Können Sie entweder speichern Sie jede Zeile in einem array oder jede Spalte in einem array. Und der resultierende Satz von arrays selbst werden in einem array gespeicherten.
Wie Sie laden und Parsen der Daten hängt davon ab, wie konsistent die Daten-Struktur (wird eah Eintrag immer dieses format, oder könnte es zusätzliche /fehlende Attribute). Ob Sie Lesen die Daten in Zeilen oder Spalten hängt davon ab, wie die Daten in der Datei gespeichert ist und auch, was Sie beabsichtigen zu tun als Nächstes mit den Daten.