Seite 1 von 2

mit php ordner/verzeichnis auslesen

Verfasst: 01.08.2004 16:29
von Lord_Femto
hi.
ich bin es mir langsam leid wenn ich bilder in ein ordner uploade immer wieder die jeweilige php auslese datei zu ändern.

gibt es irgendeine php funktion, die es ermöglicht einen ordner in dem bilder sind auszulesen?

ich hoffe ihr versteht mich.
danke im voraus.

Verfasst: 01.08.2004 16:48
von Christian_W
http://www.isle-of-wish.de/downloads/ph ... /liste.txt

Gibt eine Liste aller Dateien und Verzeichnisse des Verzeichnisses aus indem sich die Datei befindet. Das kannst Du anpassen, dass nur Bilder gelistet werden.

Gruß Christian

Verfasst: 01.08.2004 17:38
von Lord_Femto
hi christian

und wie kann ich das einstellen, dass nur bilder bzw. .jpg dateien gelistet werden?

warum kann ich nicht auch diesen code nehmen?

Code: Alles auswählen

$verz = "PB-Bilder/Band/Eggat/";
$dir = opendir($verz);
while ($file = readdir ($dir)) {
	if($file != "." && $file != "..") 
	$bilder[] = "" . $verz . "" . $file . ""; }
closedir($dir);
danke im voraus.

Verfasst: 01.08.2004 18:36
von Christian_W
Lord_Femto hat geschrieben:und wie kann ich das einstellen, dass nur bilder bzw. .jpg dateien gelistet werden?
Dazu brauchst Du noch sowas:

Code: Alles auswählen

if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $file) )
{
}
Lord_Femto hat geschrieben:warum kann ich nicht auch diesen code nehmen?
Wer hat gesagt, dass Du das nicht nehmen kannst?
Ich hatte das halt so gerade hier rumliegen.. Da wird die Liste halt noch sortiert bevor sie ausgegeben wird.

Gruß Christian

Verfasst: 03.08.2004 23:35
von Mr.Pipapo
Alle Dateien aus einem Verzeichnis auslesen geht relativ einfach, die Funktion readdir() ist dein Feund. :)
Beispiel:

Code: Alles auswählen

<?php
    $handle = opendir('.');
    while($file = readdir($handle)) {
        if($file != "." AND $file != ".." AND $file != "Thumbs.db") {
            $list[] = $file;
        }
    }
?>
Dieser Code lädt alle Dateien aus dem Verzeichnis in das Array $list.
Wenn du nur Bilder haben willst, musst du einfach noch eine if-Abfrage in die While-Schleife reinbauen.

Verfasst: 08.08.2004 19:33
von Lord_Femto
wie wir es hier oben hatten, konnte man ja bestimmte datei endungen herausfiltern.

ok. kann man es auch so machen, dass wenn ich in meiem ordner z.b.

alex-bild01.jpg
alex-bild02.jpg
alex-bild03.jpg
erich-bild01.jpg
erich-bild02.jpg
...

eine art "prefix" definieren. z.b. in diesem fall alle alex-bildXX.jpg und die zahlen irgendwie offen lassen. geht das?

Verfasst: 08.08.2004 19:54
von Blutgerinsel
kann dir nicht ganz folgen.....

jedenfalls kannst du mit Regulären Ausdrücken u.A. eine Schablone an die Files legen und somit bestimmte Teile ausschließen.

Noch eine Möglichkeit wäre Substring Zeichenbereich ausschneiden und überprüfen.

macht aber nur Sinn wenn der String einheitlich gleich ist......

Verfasst: 08.08.2004 20:14
von Lord_Femto
naja ich glaube wir meinen beide schon das gleiche.

also noch mal zum verständnis.
ich habe einen image ordner. in dem sind folgende dateien enthalten:

alex-bild01.jpg
alex-bild02.jpg
alex-bild03.jpg
alex-bild04.jpg
alex-bild05.jpg
alex-bild06.jpg
erich-bild01.jpg
erich-bild02.jpg
...

ich möchte jetzt aber nur die, die mit alex-bild beginnen. die zahl danach ist schnuppe. und alle alex-bild... möchte ich dann in ein array stecken. soweit verstanden? also ich möchte jetzt nicht direkt die dateiendungen, wie z.b. .jpg oder .gif , sondern viel mehr die anfänge wie alex-bild oder erich-bild

ich hoffe du verstehst, was ich meine.

Verfasst: 08.08.2004 20:55
von Christian_W
Lord_Femto hat geschrieben:....eine art "prefix" definieren. z.b. in diesem fall alle alex-bildXX.jpg und die zahlen irgendwie offen lassen. geht das?
Sicher geht das.
http://de2.php.net/manual/de/function.preg-match.php
http://www.webstyleboard.de/wsb/thread. ... =3099&sid=
http://de.selfhtml.org/cgiperl/sprache/regexpr.htm
http://www.it-development.de/forum/show ... adid=11872

Gruß Christian

Verfasst: 08.08.2004 21:25
von Lord_Femto
das klingt doch schon einmal ausgezeichnet.

doch wie bekomme ich das hier herein?

Code: Alles auswählen

$dir = opendir($verz);
while ($file = readdir ($dir)) {
	if($file != "." && $file != ".." && preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $file))
	$bilder[] = "" . $verz . "" . $file . ""; }
closedir($dir);
also wie sieht denn dann die suchmaske nach alex-bild.... aus?