Antworten auf deine Fragen:
Neues Thema erstellen

Dynamische Galerie ohne Flash

BLU3L30PARD

Noch nicht viel geschrieben

Hi!

Ich suche eine möglichkeit, eine Galerie zu erstellen,
bei der ich einfach nur Bilder in einen Ordner kopieren muss,
und dann z.B. ein PHP Script beim laden der Seite alle Dateien einliest
und dann irgendwie an die JS Galerie weitergibt. (Ich benutze Galeriffic)

Meine Idee war, da man ja mit JS keine Textdateien lesen kann,
per PHP eine JSON Liste anzufertigen, die dan von JS ausgelesen wird,
und den Einträgen entspechend HTML Tags für die Galerie eingefügt werden.

Aber wie kann ich denn mit PHP in JSON Dateien schreiben, vor allem so,
dass ich nicht die alten einträge überschreibe und das Schema beibehalten wird?

Oder gibt es sogar eine bessere Lösung?
 

kleeaar

zwo-eins-risiko!

Also du könntest die php-datei ja auch eine xml-datei ausgeben lassen , in der dann die pfade der bilder, und eventuelle andere angaben stehen...
Diese dynamisch generierte xml könntest du dann mit Javascript auslesen...

wobei...
wäre es nicht am einfachsten, wenn du direkt auf der seite, wo du die gallerie einbindest mit php den ordner ausliest, und dort direkt in das Script ein array mit den pfaden schreibst..?

Grüße
 
Zuletzt bearbeitet:

BLU3L30PARD

Noch nicht viel geschrieben

AW: Dynamische Galerie ohne Flash

Danke für den Hinweis!
Habe ich jetzt auch so gemacht...
Jetzt habe ich eine Datei "getimage.php", in der ich alle abfragen solcher
Art regle. Bis jetzt mit dieser Funktion:
PHP:
<?php
	function GetHeader($path)
	{
		$directory = openDir($path);
		while ($file = readDir($directory))
		{
			if ($file != "." && $file != "..")
			{
				echo "<img src='".$path.$file."' />";
			}
		}
	}
?>
Im Ordner, der mit Path mitgegeben wird, beinhaltet nur .jpg Dateien ;)
In meiner "Index.php" datei sieht's so aus:
HTML:
<html>
	<head>
                <!-- In "globals.php" sind die ganzen Path Variablen definiert... -->
		<?php include(dirname(__FILE__)."/components/globals.php"); ?>
		<?php include($PATH_PHP."getimage.php"); ?>
		<title>TEST</title>
		<link rel="stylesheet" type="text/css" href="./components/css/main.css" />
		<script type="text/javascript" src="./components/js/jquery-1.4.4.js"></script>
		<script type="text/javascript" src="./components/js/jquery.cycle.all.min.js"></script>
		<script type="text/javascript">
			$(document).ready(function() {
				$("#header").cycle({ fx: "fade" });			
			});
		</script>
	</head>
	<body>
		<div id="wrapper">
			<div id="header">
	                    <?php GetHeader($PATH_IMG); ?>
                        </div>
			<?php include($PATH_COMPONENTS."navigation.php"); ?>
			<?php include($PATH_COMPONENTS."footer.php"); ?>
		</div>
	</body>
</html>
Eigentlich müssten jetzt alle Bilder, die sich im Ordner befinden,
per JQuery Cycle ein- und ausgeblendet werden. Aber stattdessen
bekomme ich einen weißen kasten (in der größe der Bilder[1000x183])...
Ich habe in den Quellcode der Datei, wie sie im Browser angezeigt wird,
geschaut, und da steht dann das:
HTML:
<!-- [...] -->
<div id="header">
    <!-- "Websites" ist bei XAMPP als "htdocs" eingetragen ;) -->
    <img src='C:\Users\*****\Documents\Websites\***/img/header/01.jpg />
    <img src='C:\Users\*****\Documents\Websites\***/img/header/02.jpg />
</div>
<!-- [...] -->
Die Pfade sind korrekt, ich kann sogar im Firefox Quelltextbetrachter auf die Links gehen und per "Speichern unter..." die Bilder abspeichern, aber warum werden sie nicht angezeigt?
Ich habe alle CSS-Eigenschaften richtig gesetzt. Größe von "#header" ist 1000x183px...
Kann Apache vielleicht kein Backshlash ab? Aber immerhin bekomme ich diese mit dem Wert "__FILE__" geliefert...

Was mache ich da falsch?
 
Zuletzt bearbeitet:

kleeaar

zwo-eins-risiko!

AW: Dynamische Galerie ohne Flash

lade das ganze einfach mal auf nen richtigen server hoch...
Dann sollte das ganze funktionieren...
Das liegt so weit ich weiß wirklich an den backslashs, die dein Browser fehlerhaft ließt...

Grüße
 

BLU3L30PARD

Noch nicht viel geschrieben

AW: Dynamische Galerie ohne Flash

Argh! Ich habe das Problem gerade entdeckt.
Firefox gibt ständig die Meldung aus, dass er nicht weiss,
wie er mit dem Pfadbeginn "C" umgehen soll. Ich müsste also irgendwie
relative Pfade verwenden. Denn ich arbeite nicht umsonst mit XAMPP.
Mein Internet ist nicht das beste, bzw. hat ein begrenztes Voloumen...
Ich kann nicht dauerhaft online sein ;)

Hat schon jemand eine gute Lösung im Umgang mit relativen Pfaden gefunden,
die auch bei includes funktionieren? Habe schon gegoogled, aber die Ergebnisse,
die ich dort gefunden habe, sind nicht gerade intelligent gelöst und ziemlich instabil und unübersichtlich... Ich werde trotzdem noch weitersuchen, bin aber
auch sehr dankbar für jede Art von professioneller Hilfe :)

//Edit: Server funzt auch nicht :( Pfad ist dann dieser:
Code:
http://1.1.1.2/bmi/<adresse>/mnt/weba/63/99/52422299/htdocs/<site-ordner>/components/img/header/01.jpg
Dann werden also die Zugriffsrechte verletzt... Ich muss relative Pfade nutzen :(
 
Zuletzt bearbeitet:

sokie

Mod | Web

AW: Dynamische Galerie ohne Flash

eine etwas andere Herangehensweise beim Lesen der Bilder im Verzeichnis würde dir vielleicht viel Arbeit sparen:
glob();
hier gibst du einfach den relativen Pfad zu deinem/deinen Bilderordner/n an und ersetzt die Bildnamen durch einen asterisk(*):
PHP:
$bilder = glob("relativer/pfad/*.jpg");
denkbar wäre auch ein Muster wie:
PHP:
$bilder = glob("relativer/*/*.jpg");
wodurch $bilder in Beiden Fällen ein Array mit Bildpfaden (inklusiv dateinamen) ergeben, im zweiten Beispiel alle Unterordner mit einbezogen.
Die vorteile liegen auf der Hand:
- Du musst keine Pfade nachträglich zusammensetzen,
- im Array befinden sich (ohne zusätzliche Überprüfung) nur die Pfade auf .jpg Dateien.

Beim Arbeiten mit dem XAMPP, und auch auf dem späteren Server kannst du mit Pfaden wie "C:\" (und mit "\" überhaupt(windoofs)) nichts anfangen, weil das kein http:// Protokoll ist sondern file:///.
du brauchst aber ... oder eben relative pfade.

vielleicht ist auch eine interessante sache
 
Zuletzt bearbeitet:

BLU3L30PARD

Noch nicht viel geschrieben

AW: Dynamische Galerie ohne Flash

Aber ich wollte das nicht immer in jede einzelne Seite reinschreiben, sondern in ein Script,
auf das dann alle Seiten zugreifen... Das geht aber nicht, da der PHP arbeitspfad ja immer der des aufrufenden Scripts ist... Trotzdem danke, werde ich vlt. mit einabauen...
Hat noch jemand Ideen?
 

sokie

Mod | Web

AW: Dynamische Galerie ohne Flash

das kannst du realisieren, wenn du dein script im root ablegst (also bei xampp htdocs) und die Pfade von dort ausgehend (relativ) bescheibst. in den Seiten stellst du dem Pfad dann einfach ein / voran. So hast du ein script und Pfade, die sich immer auf das root beziehen
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.619
Beiträge
1.538.363
Mitglieder
67.540
Neuestes Mitglied
Alex Weidner
Oben