PHP - Dateinamen als Variable einlesen

Amenkor

Ensign
Registriert
Okt. 2014
Beiträge
174
Hallo,

Ich hab hier einen Ordner in dem Textdateien gespeichert werden mit dem Titel "01-(+Mac-Adresse)".

Jetzt sollen die Titel dieser Textdateien in ein PHP Script gelesen werden und dort als Variable gespeichert werden.

Ich probiere gerade mit "file_get_contents" und "filename" rum, klappt jedoch nicht. Und im Netz finde ich dazu nichts.

Wäre super wenn hier jemand nen Tipp oder ne Idee hat :)

Danke schon mal.


(Programmiert wird auf einem Debian Server mit vim)
 
Amenkor schrieb:
Ich hab hier einen Ordner in dem Textdateien gespeichert werden mit dem Titel "01-(+Mac-Adresse)".

Jetzt sollen die Titel dieser Textdateien in ein PHP Script gelesen werden und dort als Variable gespeichert werden.

Ordner, zu deutsch: "Verzeichnis einlesen".
 
Danke euch, das hilft mir zumindest ein bisschen, jedoch will ich nur die Dateien einlesen welche mit "01-" beginnen, wie mache ich das denn da? Im Verzeichnis sind nämlich noch viele andere Dateien mit denen ich aber in diesem Fall nichts zu tun haben will.

Sorry wenn die Antwort ganz leicht ist, aber ich arbeite noch nicht lange mit PHP...
 
Hallo "Nachbar" ;)
Dafür könntest du vmtl. ein ganz einfaches ForEach-Konstrukt nehmen.
Ich skizziere das mal eben: Alle Dateien bzw. Dateinamen in ein Array speichern (geht mit der Funjtion, die blöderidiot aufgeziegt hat). Das Array mit einem ForEach-Loop durchlaufen und dann für die Dateien, mit einer "01-" im Namen (da kannst du bspw. ein if-Statement nutzen) eine Variable deklarieren.

Grüße,
Domski
 
Amenkor schrieb:
Sorry wenn die Antwort ganz leicht ist, aber ich arbeite noch nicht lange mit PHP...

Ist tatsächlich relativ leicht, aber halt nur, wennn man schon eine Weile damit herumgespielt hat:
PHP:
<?php
   $fn = preg_grep("/^01-/", scandir('.'));
   print_r($fn);
?>

/edit: Dafür bekommst Du die Aufgabe, alle preg_-Funktionen eingehend zu studieren und Test- bzw. Übungsprogramme zu schreiben!

/edit2: Vielleicht ist es doch besser, erstmal formal "nach Lehrbuch" mit einer for-Schleife (siehe Domski) zu beginnen, um hier auch grundlegende Erfahrungen zu sammeln. Der funktionale Stil meiner Variante käme dann später dran.
 
Zuletzt bearbeitet:
Hallo Zurück :)

Das schau ich mir gleich mal an, bin grad auf "glob" gestoßen. Könnte auch gehen.

Danke :)

Hey, dank dir, das funktioniert schon mal. Jetzt schau ich mal wie ich den Rest zusammen basteln werde.

Vielen Dank.

/edit

Ja, das muss ich wohl machen. Arbeite hier an einem größerem Projekt und mache zwischen drin auch mal 2 Wochen nichts an dem Projekt, dann bin ich leider wieder komplett raus.
 
Zuletzt bearbeitet:
So, ich arbeite erst jetzt daran weiter. Grundsätzlich funktioniert es schon, nur beginnt das neue gefilterte Array nicht bei 0, sondern erst bei 3.
Schaut man sich das ungefilterte Array näher an, sieht man, das:
[0] => .data.php.swp
[1] => ..
[2] => .

Nun soll das neue gefilterte Array aber bei 0 starten, irgendwelche Ideen dazu?
 
Fängt doch bei 0 an. Die Indizes 0 bis 2 sind ganz normale Dateien (bzw. Verzeichnisse im Fall 1 und 2).
 
Okay, du hast wahrscheinlich oben nicht gelesen. Ist aber auch unglücklich formuliert, sorry dafür.

Das gefilterte Array soll nur Sachen beinhalten, welche mit 01- beginnen, klappt auch. Nur beginnt eben dieses Array mit 3 und nicht bei 0.
Im ungefiltertem Array sind die oben gelisteten Sachen auf 0-2 gespeichert.

EDIT:

Habs, $array = array_values($array);
 
Zuletzt bearbeitet:
Zurück
Oben