PHP Bildergalerie

Tanario

Grafiker
ID: 354150
L
13 April 2008
715
43
Hallo zusammen,

folgendes problem:

ich habe 8 kleine Bilder zur Auswahl wenn ich auf ein Bild klicke soll dieses groß dargestellt werden, muss ich jetzt acht Unterseiten erstellen oder kann man das mit php lösen ?

Hier die Seite:



Gruß Tanario
 
Das geht zwar , aber die komplette Seite müsste immer neu aufgebaut werden , besser wäre da Javascript/JQuery.
 
PHP hilft da nicht wirklich weiter...

Du kannst entweder 8 einzelnen HTML Seite erstellen, wovon ich aber abraten würde.

Oder aber du erstellst eine Seite und tauscht mittels JavaScript das große Bild jeweils aus.

Falls du da Unterstützung benötigst.

Melde dich einfach bei mir.
 
schau mal bitte hier nach...

https://www.cottbus-sandow.de/

da ist es auch mit php gelöst wie die Galerie gebaut ist.
Frage ist, willst du sowas haben, daß das Bild in einem neuen Fenster groß angezeigt werden soll, oder im gleichen?
Weil dann kann man das auch mit PHP und einem AJAX Schnipselverbinden.
Du schickst per auswahl den Request an die PHP datei und php lädt das Bild in originalgröße in den DIV Container zur Anzeige ...

Aber nur mit PHP allein geht es nicht.
Deshalb gleich mit JQuery handieren finde ich zuviel des Guten
 
Mir war grad langweilig... :sing:

PHP wird hier letztendlich nur gebraucht, wenn die anzuzeigenden Dateien dynamisch ermittelt werden sollen oder wenn Javascript aus ist.

Der Javascript-Teil ist bestimmt nicht crossbrowser-tüchtig, aber das sollte schnell anzupassen sein. Insbesondere falls Du schon ein größeres JS-Framework auf der Seite eingebunden haben solltest...

PHP:
<?php
	$files = glob('*.{bmp,gif,jpg,png}', GLOB_BRACE);

/* Oder wenn das Ganze weniger dynamisch sein soll:
	$files = array(
		'bild1.jpg',
		'bild2.jpg',
		'bild3.jpg',
	);
*/

	$file  = isset($_GET['view']) ? $_GET['view'] : reset($files);
?>

<style>
#gallery {
	background: #888;
	text-align: center;
}
#gallery a {
	text-decoration: none;
}
#gallery > img {
	height: 400px;
}
#gallery ul {
	list-style: none;
}
#gallery li {
	display: inline-block;
	margin: 0 0.5em;
}
#gallery li img {
	height: 64px;
}
</style>

<div id="gallery">
	<img src="<?= $file ?>">
	<ul>
	<?php foreach ($files as $file): ?>
		<li><a href="<?= $_SERVER['PHP_SELF'] ?>?view=<?= urlencode($file) ?>">
			<img src="<?= $file ?>">
		</li>
	<?php endforeach; ?>
	</ul>
</div>

<script>
(function () {
	var image = document.querySelector('#gallery > img');
	document.querySelector('#gallery')
		.addEventListener('click', function (event) {
			var element = event.target;
			if (element.parentNode.nodeName === 'A') {
				image.src = event.target.src;
				event.preventDefault();
			}
		});
}());
</script>
 
da ich noch andere Sachen zutun habe habe ich im Lose4Script forum gepostet ...

DANKE trotzdem
 
Zuletzt bearbeitet: