PHP - Dateinamen als Variable einlesen

Amenkor

Ensign
Dabei seit
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)
 

blöderidiot

Captain
Dabei seit
Juni 2004
Beiträge
3.294

Amenkor

Ensign
Ersteller dieses Themas
Dabei seit
Okt. 2014
Beiträge
174
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...
 

Domski

Captain
Dabei seit
Okt. 2007
Beiträge
3.166
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
 

blöderidiot

Captain
Dabei seit
Juni 2004
Beiträge
3.294
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:

Amenkor

Ensign
Ersteller dieses Themas
Dabei seit
Okt. 2014
Beiträge
174
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:

Amenkor

Ensign
Ersteller dieses Themas
Dabei seit
Okt. 2014
Beiträge
174
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?
 

asdfman

Commander
Dabei seit
März 2008
Beiträge
2.315
Fängt doch bei 0 an. Die Indizes 0 bis 2 sind ganz normale Dateien (bzw. Verzeichnisse im Fall 1 und 2).
 

Amenkor

Ensign
Ersteller dieses Themas
Dabei seit
Okt. 2014
Beiträge
174
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:
Top