jawel daar ben ik weer.
dit onderstaande shript leest mijn foto's uit die in een map wedstrijd staan. het werkt perfect alleen nu is even de vraag, ik heb al mijn foto's geupload naar mijn server, en de foto's de naam 001.jpg tot ....jpg via mijn server upload ik ze ook in deze volgorde, maar zodra ik mijn foto pagina vertoon dan zet dit schript mijn foto's door elkaar dus 043.jpg 001.jpg enz.
is het mogelijk om dit probleem te verhelpen zodat hij wel mijn map uitleest maar dan wel op de volgorde van 1 tot 100.

[code]
<?php
function createLbFromDir ($linkname, $galname, $directory, $thumbdirectory, $extensions = array ('jpg', 'jpeg')) {
$gallery = "";
$dh = opendir ($directory);
while ($file = readdir ($dh)) {
$parts = explode(".", basename ($file));
$extension = $parts[count($parts)-1];
if (!is_dir ($directory . $file) && ($file != ".." && $file != ".") && in_array($extension, $extensions)) {
$gallery.= "<a href=\"".$directory.$file."\" rel=\"lightbox[".$galname."]\"><img src=\"".$thumbdirectory.$file."\" alt=\"\"></a>\n";
}
}
return $gallery;
}
?>

<!--
Here the webpage begins
--!>

<html>
<head>

<!-- Lightbox-Stylesheet --!>
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />

<!-- Lightbox-Javascripts --!>
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="js/combo.js"></script>
<script type="text/javascript" src="js/global.js"></script>
<script type="text/javascript" src="js/lightbox.js"></script>

</head>

<body>

</body>
<div id="content">

<p>Fotopagina Ajaxpride.nl</p>
<p>
<!-- Here the PHP-script is called: Options are: ”linkname”, “galleryname”, “path/to/imagegallery/” , “path/to/thumbs/”
Imagenames in thumbs and imagegallery-folder need to be the same! --!>
<?php echo createLbFromDir ("Linkname", "galleryname", "wedstrijden/wedstrijd/" , "wedstrijden/wedstrijd/thumbs/"); ?>
[code/]
het is niet echt zo handig (volgens mij) maar het werkt wel:

Je zet gewoon de $galerij als een array (key is de naam van de afbeelding) en dan [php]sort[/php] je deze.

En daarna return je ze ge[php]implode[/php]d.

Ik hoop dat ik een beetje duidelijk ben geweest, zo niet:

<?php
function createLbFromDir ($linkname, $galname, $directory, $thumbdirectory, $extensions = array ('jpg', 'jpeg')) {
$gallery = array();
$dh = opendir ($directory);
while ($file = readdir ($dh)) {
$parts = explode(".", basename ($file));
$extension = $parts[count($parts)-1];
if (!is_dir ($directory . $file) && ($file != ".." && $file != ".") && in_array($extension, $extensions)) {
$gallery[$file] = "<a href=\"".$directory.$file."\" rel=\"lightbox[".$galname."]\"><img src=\"".$thumbdirectory.$file."\" alt=\"\"></a>\n";
}
}
sort($gallery);
return implode($gallery);
}
?>

Dit stukje code is niet getest en dus op eigen risico
@debrouwer
het is geen antwoord op je vraag maar het viel me eventjes op:
deze regel kan simpeler:
<?php
$extension = $parts[count($parts)-1];
?>

en wel op deze manieren:
<?php
$extension = array_pop( $parts );//haalt het laatste element uit de array
?>
of:
<?php
$extension = end( $parts );//laat de array intact
?>
thanx miloan ik heb even snel gekeken en het werkt prima.

michel, tuurlijk zal er wat aan te passen zijn, maar het werkt en zo goed ben ik ook niet met php dus laat het wel even zitten, toch bedankt.

Reageren