Bilder zählen

tittli

Erfahrenes Mitglied
Hallo
Für meine Gallerie lese ich die Bilder aus einem Ordner heraus. Zuerst lese ich alle vorhandenen Ordner raus. Nun möchte ich neben jedem Ordner-Namen die Bilderanzahl angeben. Gibts da eine Funktion dafür oder wie muss man das machen?
gruss
 
Du liesst die Bilder doch ohnehin nacheinander aus, tust dann etwas damit, nimmst dann das nächste, oder?
Lass doch einfach einen Zähler mitlaufen, erhöhe mit jedem bild um einen, Tada, da ist deine Bilderzahl :).
Gibt sicher auch eine Funktion für sowas *PHP-Gurus anguck*, aber ich weiss ja nicht was sonst noch im Ordner herumliegt ;).
 
Schreibe Dir eine Funktion, die die im Ordner enthaltenen Bilder in ein Array einliest. Dann kannst Du die Elemente im Array zählen und in einer Variablen speichern, welche Du später ausgibst.
 
Naja eigentlich liest sie wohl erst die Ordnerübersicht aus und dann eben die Dateien im entsprechend gewählten Ordner.
Drumherum kommst du aber nicht schon in jeden Ordner reinzuschauen bei der Übersicht aller Ordner.

Brauchst dann eben wie schon vom Vorredner erwähnt eine Funktion z.b. so:

PHP:
function fcount($dir)
{
 $dh  = opendir($dir);
 $i = 0;
while (($file = readdir($dh) !== FALSE)) 
{
   if( $file != '.' && $file != '..' )
           $i++;
}
 return $i;
}
 
ok...die Lösung von Ben Ben hat geklappt, danke sehr...eigentlich ja ganz einfach, und wenn ich da einwenig überlegt hätte, wäre ich auch selbst drauf gekommen, tut mir leid;-)
 
Hallo
Sorry dass ich mich hier nocheinmal melde, aber irgendetwas tut da nicht richtig hab ich bemerkt. So wie ich das jetzt habe werden einfach die Ornder durchnummeriert, d.h. der erste Ordner hat daneben die Zahl 1, der zweite die Zahl 2 usw. Wahrscheinlich baue ich das falsch ein...kann mir vielleicht jemand helfen? Hier mal das Script:
PHP:
<?php

$sparte = isset($HTTP_GET_VARS["sparte"])?$HTTP_GET_VARS["sparte"]:1;

$max = $sparte * 30;
$min = ($sparte-1) * 30;
//$i = 0;
$handle=opendir('./gal/');
$x = 0;

while ($file = readdir ($handle))
	{
  	if ($file != "." && $file != ".." && is_file ('./gal/'.$file)==false)
  		{
    		if ($i<$max && $i>=$min)
      			{
      			$handle2 = opendir('./gal/'.$file);
      			while ($pic = readdir ($handle2))
         			{
                 		session_start();
                 		if (isset ($_SESSION["user_id"]))
                 			{
          				echo "<td><div align=\"center\"><img src=\"folder.gif\"><a href=\"index_admin.php?action=pics&file=$file&sparte=1\">$file</a> <span class=\"textklein\">($x)</span></div></td>";
                         		}
                 		else
                 			{
                         		echo "<td><div align=\"center\"><img src=\"folder.gif\"><a href=\"index.php?action=pics&file=$file&sparte=1\">$file</a> <span class=\"textklein\">($x)</span></div></td>";
                         		}
	      			break;
      				}
                 	//$i++;
	  		closedir($handle2);
        			}
         	else
           		{
                 	//$i++;
             		}
  		}
  	}
  closedir($handle);
?>

Weiss vielleicht jemand, wo ich die Variable incrementieren muss, damit die richtige Ausgabe kommt? Danke für die Hilfe!
 
Zurück