Ik wil mijn fotoalbum een beetje bewerken. en stuit op dit probleem.

Een fotoalbum maakt een foto en slaat die ongeveer zo op
imag009.jpg
imag010.jpg

nu is het probleem. hoe zorg ik ervoor dat een link in mijn album naar de volgende foto gaat.DUS...

ik bekijk de foto imag009.jpg ik druk op volgende en dat is imag010.jpg

Toevoeging op 15/10/2011 22:44:46:

wie kan me helpen
<?php
$key = array_search($_GET['foto'], $imgArray);
$prevImg = $imgArray[$key - 1];
$nextImg = $imgArray[$key + 1];
?>

Als je dit stukje code nu samenvoegt met mijn eerdere code denk ik dat je er wel uit komt.

Toevoeging op 16/10/2011 16:51:02:

De site is inmiddels weer bereikbaar
kan ik de volgorde op de tijd doen dat de foto is gemaakt? want die klopt niet
probeer dit eens



//vangt Huidige positie
$at = current($imgArray);

// Ga naar volgende image in array
$at = next($imgArray);

// Ga naar vorige image in array
$at = next($imgArray);

Deze code sorteert op de datum:
<?php
$dir = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR;
$fileArray = scandir($dir);
if ($fileArray) {
	$number = count($fileArray);
	$allowed = array('.png' , '.jpg', '.gif', '.flv', '.mp3');
	$imgArray = array();
	foreach($fileArray as $key => $value) {
		if ($value != '.' && $value != '..' && is_file($dir . $value)) {
			if(in_array(strtolower(strrchr($value, '.')), $allowed)) {
				$imgArray[] = array(filemtime($dir.$value), $value);
			}
		}
	}
	$tmp = array();
	foreach($imgArray as &$ma)
    	$tmp[] = &$ma[0];
	array_multisort($tmp, $imgArray);
	foreach($imgArray as $key => $value) {
		// hier het gedeelte voor de thumbs, let op dat ik er al veel uitgefilterd heb!!
	}
}
?>

Dit kan je ook toepassen bij het tonen van de grote foto, moet je alleen even het filter($allowed) aanpassen
Ger van Steenderen op 17/10/2011 15:03:30

Deze code sorteert op de datum:
<?php
$dir = $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR;
$fileArray = scandir($dir);
if ($fileArray) {
	$number = count($fileArray);
	$allowed = array('.png' , '.jpg', '.gif', '.flv', '.mp3');
	$imgArray = array();
	foreach($fileArray as $key => $value) {
		if ($value != '.' && $value != '..' && is_file($dir . $value)) {
			if(in_array(strtolower(strrchr($value, '.')), $allowed)) {
				$imgArray[] = array(filemtime($dir.$value), $value);
			}
		}
	}
	$tmp = array();
	foreach($imgArray as &$ma)
    	$tmp[] = &$ma[0];
	array_multisort($tmp, $imgArray);
	foreach($imgArray as $key => $value) {
		// hier het gedeelte voor de thumbs, let op dat ik er al veel uitgefilterd heb!!
	}
}
?>

Dit kan je ook toepassen bij het tonen van de grote foto, moet je alleen even het filter($allowed) aanpassen


ik heb het geprobeert maar hij geeft niet's weer. welk deel van de thumbs moet ik er tussen zetten. ( met open dir of hoe? )
Nee, je hoeft de dir niet meer te openen, de map is al doorlopen en gefilterd. $imgArray is een 2 dimensionale array dus $value is ook een array. $value[1] is de bestandsnaam
wat moet ik dan op de plaats van de oranje tekst zetten?
<?php
foreach ($imgArray as $key => $value) {
	$ext = strtolower(end(explode($value[1], '.')));
	if ($ext == 'jpg' || $ext == 'png' || $ext == 'gif') {
		// de dingen voor plaatjes
	}
	elseif ($ext == 'flv') {
		// de dingen voor video
	}
	elseif ($ext == 'mp3' {
		// de dingen voor audio
	}
}
?>
Geen geen foto's
er komen geen foto's op?
Php knipper op 22/10/2011 11:19:57

wat moet ik dan op de plaats van de oranje tekst zetten?


Wat heb je zelf al geprobeerd om het werkend te krijgen?

Als je een kant en klaar script wilt (als php knipper), plaats dan een vacature ;-)

Reageren