Import einer txt-Datei zu einem Array

Ich habe aus meiner Fritzbox über Sichern aus der erstellten Export-Datei den Sektor „IP-Adressen“ herauskopiert und möchte event. über eine Exel-Datei eine Tabelle mit meinen IP-Adresse drucken und freie Adressen, wenn gebraucht eintragen.
Dazu brauche ichmal eure Hilfe.
Diese Textdatei soll in ein Array umgewandelt werden.
Struktur der Datei:
{
ip = 192.168.1.4;
manual_ip = no;
uniqid = 665;
name = „PC64“;
neighbour_name = „“;
mac = 00:00:00:00:00:00;
auto_etherwake = no;
ifaceid = ::;
staticlease = no;
url_status = eLUrlStatusUnknown;
ipv4_exposed_host = no;
maclist = 00:00:00:00:00:00;
allow_pcp_and_upnp = no;
} {
ip = 192.168.1.x;
manual_ip = no;
uniqid = 666;
name = „PC4“;
friendly_name = „PC4“;
neighbour_name = „RainersPC“;
mac = BC:5F:F4:95:CF:33;
auto_etherwake = no;
ifaceid = ::10b1:f8ab:29a6:8a7a;
staticlease = no;
url_status = eLUrlStatusNotAvailable;
ipv4_exposed_host = no;
maclist = BC:5F:F4:95:CF:33;
allow_pcp_and_upnp = no;
} {
usw…

Meine Experimente haben mich nicht weitergebracht. Eigentlich dürfte das gar nicht so kompliziert sein, aber…

Du könntest die Datei mittels fgetcsv auslesen. Dabei als Delimiter ‚=‘ verwenden.
Grobe Idee, aus der php Doku abgeleitet, vermutlich mit Fehlern, nur als Anregung:

$row = 0;
$arr = array();
if (($handle = fopen("fritzbox.txt", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, "=")) !== FALSE) {
       $links = trim($data[0]);
        if(substr($links,0,1) == '}'){
            $row++;
        }else{
            $arr[$row][$links] = trim($data[1]);
       }
    }
    fclose($handle);
    print_r($arr);
}else{
    print 'datei nicht gelesen';
}

Ich wage allerdings zu bezweifeln, dass diese Datei die richtige Herangehensweise ist.

1 „Gefällt mir“

Habe mich schon gefragt was für eine tolle Anleitung jetzt kommt :stuck_out_tongue_winking_eye:
Ich habe es zu den Fragen geschoben.
Michael

Danke tobiasr, hat funktioniert. Hat mir weitergeholfen.

Gibt es eine Anwendung, die die IP-Adressen des Heimnetzwerkes übersichtlich darstellt?
Sag nicht Fritzbox :grinning:

Moin,
das nmap Modul. Es sammelt online alle IPs und Zustzinfomationen benötigt also eine gewisse Zeit bis es alle Geräte aufgenommen hat.

Das sieht dann nach einiger Zeit so aus:

Ralf

Danke für den Hinweis.
Davon hatte ich auch schon mal gehört.
Aber gibt es da ein IPS-Modul oder meinst du das Nmap-Programm ?
Wenn es das Nmap-Programm ist, kannst du mir mal den Befehl, der deine Ausgabe erzeugt, mal posten?

Lösch das Bild wieder, ich habe es gesehen, ist interessant.
Aber deine IP- und Mac-Adressen gehen niemand was an.

Ich habe gerade dieses Thema von dir gefunden:
nmap Script (Hosts ist in meinem Netzwerk)
Damit werde ich mich mal beschäftigen.
Mein Frage hat sich ja dann erledigt.