Zum Inhalt springen

[PHP]Dateien aus Ordner in Array lesen/ ausschließen von dateien mit _ am anfang??


Empfohlene Beiträge

Geschrieben

Hallo Leute

ich lese alle Dateien aus einem Ordner ein und schreibe die namen in ein Array.

Ich irgnoriere Dateien wie Index.php

siehe Code:


$handle=opendir($ordner); // Ordner in dem die Bilder sind wird geöffnet
while ($file = readdir ($handle)) // while, weil nicht klar ist wieviele Dateien im Ordner sind, also werden hier die Dateien ausgelesen
{
if ($file != "." && $file != ".." && $file != "thumb" && $file!= "index.php" && $file!="Thumbs.db")
{
$array[] = $file; // Die Dateien aus dem Ordner werden in ein array gepackt
}
}
closedir($handle); // Schließt den Ordner wieder
sort($array); // Sortiert das $array
[/PHP]

Jetzt möchte ich auch Dateien ausschließen, die mit einem Unterstrich (_) beginnen.

kann mir jemand sagen wie das geht?

Wenn ich es so versuche

[code] if ($file != "_*") [/code]

geht es nicht...

Geschrieben

Danke für den Denkanstoß....

Hier die Lösung


if ($file != "." && $file != ".." && $file != "thumb" && substr($file, 0, 1) != "_" && $file!= "index.php" && $file!="Thumbs.db")
{
.....
}
[/PHP]

Geht wunderbar

thx

Geschrieben

@baba007

Ich dachte auch das die Antwort Reguläre Ausdrücke als erste kommt... ;)

Leider habe ich von denen keinen Plan.

Warum ist die Methode, die ich jetzt verwende nicht gut?

Kannst mir den regulären Ausdruck mal nennen?

Geschrieben

Kannst mir den regulären Ausdruck mal nennen?


// Ausschließen von Dateien:

// . und .. (oder ... etc)

// alle Dateien die mit _ beginnen

// index.php

// thumb und thumbs.db

// Groß-/Kleinschreibung nicht beachtet

preg_match('/^((_.*|\\.)+|index.php|thumb(s\.db)?)$/i', "Dateiname.php", $match)

Niemand sagt dass deine Methode nicht gut ist, aber das heißt ja nicht, dass man es nicht anders, eleganter und besser machen kann ;)

Klar sind RegEx auf den ersten Blick sehr kompliziert, aber viele und-Verknüpfungen sind auch nicht gerade das übersichtlichste. Am besten halt zur RegEx ein Kommentar, was du damit tun willst...

Edit:

Ach ja, was bei deiner Methode schlecht ist, ist die einfache Art diese zum Umgehen... thumbs.db wird mit deiner Methode z.B. nicht gefunden (wegen der Schreibweise) ;)

Geschrieben

ich bin von diesen Regulären Ausdrücken immer wieder begeistert...

Sollte mich doch mal intensiver damit beschäftigen.

Was bedeutete der Teil mit Dateiname.php? Ist das die Eingabe?

PS:

Die Datei Thumb.db lass ich auch nur aus, für den Fall das ich mal eine mit hochgeladen habe. Im Normalfall verwende ich die Miniaturansicht von Windows nicht. Und dann wird diese Datei ja nicht erstellt. Wenn sie aber erstellt wird, ist sie in der Regel am Anfang groß geschrieben ;-)

Geschrieben

mit if($file['name'][0]!=_") könnte es gehen...du musst halt gucken, wie du an den dateinamen kommst...bin mir mit dem ['name] seeehr unsicher, ob es die bezeichnung war...das solltest du selbst gucken, aber dann kannste ja wie bei jedem anderen string auch den ersten buchstaben ausgeben lassen oder wie bei dir den halt vergleichen ;)

Geschrieben
mit if($file['name'][0]!=_") könnte es gehen...du musst halt gucken, wie du an den dateinamen kommst...bin mir mit dem ['name] seeehr unsicher, ob es die bezeichnung war...das solltest du selbst gucken, aber dann kannste ja wie bei jedem anderen string auch den ersten buchstaben ausgeben lassen oder wie bei dir den halt vergleichen ;)

Danke für den Lösungsversuch..

In der Variablen $file steht bereits der Dateiname, ich schreibe ihn bei jedem Schleifendurchlauf dort rein:

while ($file = readdir ($handle)) 
[/PHP]

@JesterDay

Ich weiß RTFM :mod:

THX:cool:

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...