Sie sind nicht angemeldet.

1

03.04.2010, 14:19

Bildergalerie erstellen

Hey Leute!

Hab mal wieder ne Frage bezüglich PHP.

Und zwar möchte ich ne Bildergalerie erstellen, die Bilder aus einem vorhandenen Verzeichnis ausliest und schön als eine Bildergalerie ausgibt.

Diese Bildergalerie soll aber nicht einfach eine Seite sein, auf der die Bilder als kleines Vorschaubild zu sehen sind, sondern eher ein großer Bereich, in dem der User auf der Internetseite auf das Bild klicken kann und das nächste Bild erscheint dann im selben Bereich.

Ich hoffe mir kann jemand helfen (auch gerne mit viel Code ^^)

Es soll nicht so aussehen, als würde ich mich vor der Lesarbeit oder so scheuen, aber ich finde einfach kein passendes Tutorial oder ne passende Erklärung.


Danke schonmal!


MfG

VC

2

05.04.2010, 18:31

sacht ma, sind alle im urlaub oder weiß niemand was. dann wär es nett, dass auch zu wissen, sodass ich woanders fragen kann.



Frohe Ostern allerseits!

ronsn

Level 0,5

Beiträge: 760

Wohnort: Berlin

Beruf: Student

  • Nachricht senden

3

05.04.2010, 21:05

Dazu musst du erstmal wissen, welche Dateien sich alles im Verzeichnis befinden.
Ich habe mal einen kleinen Denkansatz vorbereitet, wie man ein Verzeichnis ausliest und in einem Array speichert.

PHP-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
// Verzeichnis, in dem die Dateien liegen
$verzeichnis 'images';

// Versuche das Verzeichnis zu öffnen, oder gebe Fehlermeldung aus
$dateihandle = @opendir($verzeichnis);
if(!$dateihandle)
    die('FEHLER: Das Verzeichnis konnte nicht geoeffnet werden!');

// Index-Variable und Array initialisieren
$i 0;
$gallerie = array();

// Dateien im Verzeichnis durchlaufen
while (($datei readdir($dateihandle)) !== false)
{
    // Wenn die aktuelle Datei kein Verzeichnis ist, füge sie ins Array und erhöhe den Index-Wert
    // (Ein Verzeichnis ist im Prinzip auch nur eine Datei)
    if (!is_dir($verzeichnis.'/'.$datei))
    {
        $gallerie[$i] = $verzeichnis.'/'.$datei;
        $i++; // $i = $i + 1
    }
}
// Schließen des Verzeichnisses
closedir($dateihandle);


// Ausgeben des erstellten Arrays
echo '<pre>';
print_r($gallerie);
echo '</pre>';
?>

Du könntest jetzt per GET eine Nummer übernehmen (vorher überprüfen!) und dann einen String zusammen bauen, der dann ungefähr so aussehen könnte:

Quellcode

1
<a href="NAECHSTES BILD"><img src="BILD" alt="BILD" /></a>

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ronsn« (07.04.2010, 00:23)


4

06.04.2010, 15:04

dankeschön.
sowas hilft mir dochn schon.
thx

6

18.04.2010, 09:24

hmmm...
das gallerie-array wird jetzt aber untereinander oder nebeneinander ausgegeben, oder?
ich bräuchte aber eigentlich so ne gallerie, in der man bei klick auf das erste bild im selben bereich das zweite bild angezeigt bekommt, und so weiter.

ich geb ma nen link von chip online mit, die haben das so verwirlicht, wie ich es ungefähr bräuchte.

link

Hier: bei klick auf bild => nächstes erscheint, aber gleiche html datei und nur bild, kurzbeschreibung und werbung etc. ändern sich.

Könnte es sein, dass das frames sind? (fällt mir jetzt so spontan ein).

ronsn

Level 0,5

Beiträge: 760

Wohnort: Berlin

Beruf: Student

  • Nachricht senden

7

18.04.2010, 14:31

Nein, bei chip.de läuft das mit Javascript und wenn dies nicht funktioniert, dann per normalem Link mit angehängter Id eines Bildes.
Das Array musst du ja nicht so ausgeben, aber brauchen wirst du es trotzdem. Du kannst das Array in einer Session-Variablen speichern und falls diese Session-Variable nicht existiert, dann erstellst du eben ein neues Array und speicherst es dann in der Session-Variablen. Dabei hilft es, wenn du das auslesen aus dem Verzeichnis vielleicht als Funktion schreibst. Mit count() kannst du die Anzahl der Elemente in einem Array feststellen und wenn du gerade so einen Link hast wie:

Quellcode

1
http://blabla.de/meinegallerie.php?image=2
dann sollte das zweite Bild ausgegeben werden. Und das zweite Bild findest du im Array $gallerie[1] , sofern dieses Bild auch existiert. Dazu hast du ja count() benutzt und weißt, dass wenn du bspw. nur 2 Bilder hast, dass der nächste Link auf das erste Bild verweist, oder sonst was macht.


Blinkster - Das Coumputerforum - dolph-in-forum.de - mynotiz.de - online Notizen