mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 18.04.2024 22:36 Benutzername: Passwort: Auto-Login

Thema: [PHP] Mehrere Bilder-Ordner auslesen und ausgeben vom 23.12.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP] Mehrere Bilder-Ordner auslesen und ausgeben
Autor Nachricht
signliner
Threadersteller

Dabei seit: 12.09.2005
Ort: BaWü
Alter: 37
Geschlecht: Männlich
Verfasst So 23.12.2007 00:46
Titel

[PHP] Mehrere Bilder-Ordner auslesen und ausgeben

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen!

Für meine Website habe ich vor länger Zeit mal eine PHP Bilderfunktion
zusammengebastelt, die einen Ordner ausließt und jeweils ein Bild mit
vor und zurück Button ausgibt. (Link zur Website)

Nun hab ich aber das Problem, das meine Kamera mal wieder die 10.000er
Marke geknackt hat und wieder von vorne mit der Nummerierung beginnt.
Deswegen möchte ich mehrere Unterordner anlegen.

Gibt es eine einfache Möglichkeit, eine Funktion einzubauen, das Unterordner
wie z. B. 9999, 9998, usw. sortiert eingelesen und ausgegeben werden?


Bis jetzt sah der Code so aus:

Code:
<?php
$img = glob( "grafik/portfolio/fotografie/*" );
$array[] = $img;
array_multisort($img, SORT_DESC);
$last = count( $img );
$foto = ( isset($_GET['foto']) && is_numeric($_GET['foto']) ) ? ($_GET['foto'] % $last) : 0;
$prev = ( $foto + $last - 1 ) % $last;
$start =  $last;
$next = ( $foto + 1 ) % $last;
?>


Code:

AUSGABE:

<div id="bilderprev">
<a href="<?php echo "?foto=$prev"; ?>">   
<span foto="prev">&nbsp;&lt;&nbsp;</span></a>
</div>

<div id="bildernext">
<a href="<?php echo "?foto=$next"; ?>">   
<span foto="next">&nbsp;&gt;&nbsp;</span></a>
</div>

<a href="<?php echo "?foto=$next"; ?>">
<img src="<?php echo $img[$foto]; ?>" alt="<?php echo $foto; ?>"/></a>
<a href="<?php echo "?foto=$start"; ?>"></a>


Ich muss dazu sagen, dass ich von PHP nicht viel Ahnung hab!
Kann mir da jemand weiterhelfen?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
tacker

Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht: Männlich
Verfasst So 23.12.2007 12:30
Titel

Antworten mit Zitat Zum Seitenanfang

http://de.php.net/sort in Verbindung mit SORT_NUMERIC ist das was Du brauchst.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
signliner
Threadersteller

Dabei seit: 12.09.2005
Ort: BaWü
Alter: 37
Geschlecht: Männlich
Verfasst So 23.12.2007 20:25
Titel

Antworten mit Zitat Zum Seitenanfang

Danke. Das mit der Sortierung hab ich mir angeschaut. Sieht soweit auch ganz verständlich aus.

Mir geht's aber erst mal darum, das jetzt auch Unterverzeichnisse ausgelesen und ausgegeben werden sollen.

Also z. B. gibt es die Ordner
0001
0002
usw.

im Ordner 0001 liegen die Bilder:
IMG_0052
IMG_0084
usw.

im Ordner 0002 liegen
IMG_0052
IMG_0477

Jetzt soll immer das aktuellste Bild angezeigt werden (So ist es im Moment schon, nur halt ohne Unterverzeichnisse).
Also hier z. B. der neuste Ordner (0002) und neuste Bild (IMG_0477) und dann die anderen.

Geht das mit der glob() Funktion oder muss dazu opendir() und Co verwendet werden?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bacon

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst So 23.12.2007 21:02
Titel

Antworten mit Zitat Zum Seitenanfang

Die Sortierung wirst du unabhängig davon implementieren müssen, Tacker hat ja schon nen Vorschlag gebracht. Da will ich jetzt nicht drauf rumreiten.

PHP5 stellt mit der SPL (Standard PHP Library) und dem Iterator-Muster ein ziemlich mächtiges Werkzeug bereit, um über listenähnliche Strukturen zu iterieren, auch rekursiv.

Speziell brauchst du den RecursiveDirectoryIterator (Doku zu finden unter): http://www.php.net/~helly/php/ext/spl/

ganz kurz:

Code:

foreach ( new RecursiveIteratorIterator ( new RecursiveDirectoryIterator ( "/pfad/zum/verzeichnis"), RecursiveIteratorIterator::SELF_FIRST|LEAVES_ONLY|... ) AS $fileObject ) {
...
}


Hinter dem obigen link findest du eine detailierte Doku über die einzelnen Iterator-Kindklassen, die Klassenkonstanten des RecursiveIteratorIterator etc... . Einfach mal einlesen.


Zuletzt bearbeitet von bacon am So 23.12.2007 21:06, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
signliner
Threadersteller

Dabei seit: 12.09.2005
Ort: BaWü
Alter: 37
Geschlecht: Männlich
Verfasst Mo 24.12.2007 01:47
Titel

Antworten mit Zitat Zum Seitenanfang

Das wäre (wenn ichs richtig verstehe) eine recht schnelle Lösung, ohne viel Code.

Problem ist nur das bei mir noch PHP 4 läuft (hatte ich vergessen zu erwähnen)
und damit geht's ja leider nicht. Umstellen möchte ich im Moment noch nicht.

Versuche im Moment eine andere Lösung das Verzeichnisse rekursiv einzulesen.
Vielleicht bekomme ich's auch noch selbst hin.
* Mal bisschen die Nase pudern... *
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen Bilder-Ordner per AS auslesen
wie kann ich ordner und bilder auslesen?
bilder aus ordner auslesen und in tabelle darstellen
SucheScript: Bilder aus Ordner auslesen u. vertikal scrollen
PHP - Dateinamen auslesen + ausgeben
Webseiten auslesen und ausgeben?
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.