Bilderausgabe sortieren

cliodriver

Mitglied
Hallo erstmal

dies ist mein erster Eintrag und ich hoffe ihr könnt mir helfen.

ich betreibe eine kleine Website unserer Dorfgemeinschaft auf der es natürlich auch bilder gibt.

die bilder werden dynamisch über eine php-seite durch übergabe des pfades per link aufgerufen. dies funktioniert eigentlich sehr gut, jedoch sind die bilder nicht nach dem Dateinamen sortiert sondern werden willkürlich aufgelistet.
leider hab ich jetzt keinen plan wie ich die sortierung hinbekomme.

der link mit pfadübergabe

http://www.seitelschlag.at/index.php?page=bilder.php&imagepath=Events/2008/Dorffest/Bilder

die aufgerufen seite "bilder.php"

Code:
		<div class="contentArea">
			<div class="container"> 
				<div class="contentmiddle">

<?php

$imagepath = $_GET["imagepath"];

echo "<h1>$imagepath</h1>";

?>
<p></p>
<?php
include("imagelist.php");
?>
				</div>
			</div>
		</div>

und die eigentliche bilderliste die in der "bilder.php" included ist

Code:
<?php 
	
	$dir = opendir($imagepath);   
	$extensions = array("jpg", "gif", "jpeg", "png", "JPG");  

	while(($file = readdir($dir)) !== false)
    	{   
    	if(in_array(pathinfo($file, PATHINFO_EXTENSION), $extensions))
        	{
			echo "<a href='$imagepath/$file' rel='lightbox[Bild]' title='$file'><img src='$imagepath/$file' alt='$file' width='140' hspace='15' vspace='15' border='0'></a>";
        	}   
    	} 
?>

ruft man die seite auf, sieht man anhand der Dateinamen das die bilder nicht sortiert sind.
was muss in die "imagelist.php" eingebaut werden das die Sortierung funktioniert?

danke
 
so?

Code:
<?php 
	
	$dir = opendir($imagepath);   
	$extensions = array("jpg", "gif", "jpeg", "png", "JPG");  
	sort($dir);
	while(($file = readdir($dir)) !== false)
    	{   
    	if(in_array(pathinfo($file, PATHINFO_EXTENSION), $extensions))
        	{
			echo "<a href='$imagepath/$file' rel='lightbox[Bild]' title='$file'><img src='$imagepath/$file' alt='$file' width='140' hspace='15' vspace='15' border='0'></a>";
        	}   
    	} 
?>

das ergibt einen fehler

Warning: sort() expects parameter 1 to be array, resource given in /var/www/html/imagelist.php on line 5

die bilder werden trotzdem unsortiert angezeigt
 
Tschuldige, ist ja gar kein Array. Musst erst eins draus machen:
PHP:
$dir    = opendir($imagepath);
$files  = array();
while ($file = readdir ($dir)) {
 if ($file != "." AND $file != "..")
  $files[] = $file;  
}
closedir($dir);
arsort($files); // z. B. absteigende Sortierung
echo "<pre>". print_r($files, true) ."</pre>";
Jetzt kannst Du das Array durch eine Schleife für die Ausgabe laufen lassen...
 
da kommt dann zb. das raus

Array
(
[1] => Hpim3012.jpg
[6] => Hpim3011.jpg
[4] => Hpim3010.jpg
[0] => Hpim3009.jpg
[3] => Hpim3008.jpg
[2] => Hpim3007.jpg
[5] => Hpim3006.jpg
)
 

Neue Beiträge

Zurück