Hej. håller på med ett bildgalleri och har fått ett php-script som skriver ut thumbnails. Thumbnailsen är klickbara och hämtas från olika bildmappar sorterade efter årtal. Allt är väl så långt förutom ett litet irriterande problem:Jag skulle bilja att bilderna visas sorterade årtalsvis, dvs att de nyaste bilderna kommer först och sen sorteras nedåt, dvs 2005, sedan 2004, 2003 osv. Nu hamnar de huller om buller. Nåon som vet hur det går at lösa? Tacksam för hjälp!
Så här ser det ut nu:http://www.vallnet.nu/mp00361-p1/galleri/index.php?ishome=1&filename=17.jpg&filenumber=1.
Bifogar koden här:
<html>
<head>
<script type="text/javascript"><!--
function openimg(img){
foto1= new Image();
foto1.src=(img);
Controlla(img);
}
function Controlla(img){
if((foto1.width!=0)&&(foto1.height!=0)){
viewFoto(img);
}
else{
funzione="Controlla('"+img+"')";
intervallo=setTimeout(funzione,20);
}
}
function viewFoto(img){
largh=foto1.width+20;
altez=foto1.height+20;
stringa="width="+largh+",height="+altez;
finestra=window.open(img,"",stringa);
}
//--></script>
</head>
<body>
<?php
function printimages($path) {
$dh = opendir($path);
if (!$dh) return;
$breakcount = 0;
while($file = readdir($dh)) {
if ($file == "." && $file == "..") continue;
$thumb = "$path/$file";
$image = 'stora_bilder/' . basename($path) . '/' . substr($file, 6);
if (is_file($thumb)) {
// En bild som ligger i en subkatalog.
?>
<a href="javascript:openimg('<?=$image?>')"><img height="71" width="71" border="0" src="<?=$thumb; ?>"></a>
<?php
$breakcount++;
if ($breakcount > 8) {
echo "<br>";
$breakcount = 0;
}
}
}
closedir($dh);
}
function printthumbs($dir) {
$dh = opendir($dir);
if (!$dh) return;
while($file = readdir($dh)) {
$path = "$dir/$file";
if ($file != "." && $file != ".." && is_dir($path)) {
// En katalog i images (troligsvis den första året du har)
echo "<p>$file</p>";
printimages($path);
}
}
closedir($dh);
}
printthumbs("./images");
?>
</body>
</html>
Hej och tack. Provade att byta ut koden men det syns tyvärr fortfarande inget...kan det vara jag som klistrat in koden fel eller något? Såhär ser det ut:
<?php
function printimages($path) {
$dh = opendir($path);
if (!$dh) return;
$breakcount = 0;
while($file = readdir($dh)) {
if ($file == "." && $file == "..") continue;
$thumb = "$path/$file";
$image = 'stora_bilder/' . basename($path) . '/' . substr($file, 6);
if (is_file($thumb)) {
// En bild som ligger i en subkatalog.
?>
<a href="javascript:openimg('<?=$image?>')"><img height="71" width="71" border="0" src="<?=$thumb; ?>"></a>
<?php
$breakcount++;
if ($breakcount > 8) {
echo "<br>";
$breakcount = 0;
}
}
}
closedir($dh);
}
function printthumbs($dir) {
$dh = opendir($dir);
if (!$dh) return;
$images = array();
while($file = readdir($dh)) {
$path = "$dir/$file";
if ($file != "." && $file != ".." && is_dir($path)) {
$images[$file] = $path;
}
}
closedir($dh);
krsort($images);
foreach ($images as $year => $path) {
echo "<p>$year</p>";
printimages($path);
}
}
closedir($dh);
}
printthumbs("./images");
?>
Personligen hade jag sparat filnamnen, datum, katalog etc i en mysql db och sorterat från det, hur simpelt som helst... i mitt eget script ligger alla stora bilder i samma mapp, allt styrs från db, virtuella kataloger etc