Bilder aus Ordner auslesen und sortiert anzeigen

unacanuma

Grünschnabel
Hallo

habe ein Problem bei dem ich alleine nicht weiterkomme .
Habe gesucht und auch gefunden.
Leider sind die Antworten so umfangreich das ich nicht durchsteige.

Schwierigkeit ist folgende:
Ich lese aus einem Ordner alle jpg dateien aus und lasse sie untereinander anzeigen.
Nun das Problem:
Alle Bilder werden unsortiert angezeigt.
Das heißt Bildnr. 0006.jpg kommt vor 0001.jpg und so weiter.

Sie sollen aber numerisch sortiert angezeigt werden.
Kann mir jemand weiterhelfen?

Thanks unacanuma ;)

Ich poste das Script. im nächsten Posting.
 
Hier also mein aktueller Code :

<?

if ($form=="Bilder anzeigen"))
{
$bilddir=$_POST["artikel_id"];
$artikel_id=$bilddir;
$verz=opendir ("D:/web/bilder/$bilddir/klein/");
echo "<form action=".$_SERVER['PHP_SELF']." method=Post><table width='790' border='0' cellspacing='0' cellpadding='10'><tr><td width='790'>";

function bildanzeige($bilddir, $verz)
{
while ($file = readdir ($verz)) {
if($file != "." && $file != "..")

echo "<a href='D:/web/bilder/$bilddir/gross/$file' target='_new'><img src='D:/web/bilder/$bilddir/klein/$file' >".$file."</a ><input name='bild[]' type='checkbox' value='$file'> &nbsp;&nbsp;&nbsp; "; }
closedir($verz);
}


$bilderschlonz = bildanzeige($bilddir, $verz);
echo "
<INPUT TYPE='HIDDEN' name='bilddir' value='$artikel_id'>
<INPUT TYPE='HIDDEN' name='verz' value='$artikel_id'>
<INPUT TYPE='HIDDEN' name='artikel_id' value='$artikel_id'>
<INPUT TYPE='SUBMIT' name='form' value='Auswahl-Bilder'>
";
if ($alle_bearbeiten_info=="".$_POST["weiter_bearbeiten"]."")
{
echo "<INPUT TYPE='hidden' name='alle_bearbeiten' value='".$_POST["alle_bearbeiten"]."'>";
echo $_POST["alle_bearbeiten"];
}
echo "</td></tr></table>
</form>";
};

?>

Jemand eine Idee

Gruss unacanuma ;)
 
Das ganze sollte nach dem Prinzip gemacht werden.
PHP:
<?php

$pfad = "pfad/zu/den/bildern";
$dir = opendir($dir);
while($filename = readdir($dir)) {
	if(strstr($filename, ".jpg") || strstr($filename, ".gif")) {
		echo "<img src=\"".$pfad."/".$filename."\"><br>";
	}
}

?>

natürlich muss das ganze an dein Script angepasst werden

grüße Samuel
 
PHP:
<?
if ($form=="Bilder anzeigen")) {
  echo "<form action=".$_SERVER['PHP_SELF']." method=Post>
  <table width='790' border='0' cellspacing='0' cellpadding='10'><tr><td width='790'>";
  $bilddir=$_POST["artikel_id"];
  $artikel_id=$bilddir;
  $verz=opendir ("D:/web/bilder/$bilddir/klein/");
  $bilder = Array();
  while ($file = readdir ($verz)) {
    if ($file != "." && $file != "..")
      $file = substr($file, 0, strrpos(".", file));
      $bilder[] = $file;
    }
  closedir($verz);
  }

  asort($file);
  reset($file);

  while (list ($key, $val) = each($file)) echo "<a href='D:/web/bilder/$bilddir/gross/$val.jpg' target='_new'><img src='D:/web/bilder/$bilddir/klein/$val.jpg' >".$val."</a ><input name='bild[]' type='checkbox' value='$val'>";

  $bilderschlonz = bildanzeige($bilddir, $verz);
  echo "
<INPUT TYPE='HIDDEN' name='bilddir' value='$artikel_id'>
<INPUT TYPE='HIDDEN' name='verz' value='$artikel_id'>
<INPUT TYPE='HIDDEN' name='artikel_id' value='$artikel_id'>
<INPUT TYPE='SUBMIT' name='form' value='Auswahl-Bilder'>";
  if ($alle_bearbeiten_info=="".$_POST["weiter_bearbeiten"]."") {
  echo "<INPUT TYPE='hidden' name='alle_bearbeiten' value='".$_POST["alle_bearbeiten"]."'>";
  echo $_POST["alle_bearbeiten"];
  }
  echo "</td></tr></table>
</form>";
}

?>

Alle Bildernamen das .jpg entfernen und in einen Array einlesen, dieses sortieren und dann alles wieder ausgeben.
 
Original geschrieben von Samuel
Das ganze sollte nach dem Prinzip gemacht werden.
PHP:
<?php

$pfad = "pfad/zu/den/bildern";
$dir = opendir($dir);
while($filename = readdir($dir)) {
	if(strstr($filename, ".jpg") || strstr($filename, ".gif")) {
		echo "<img src=\"".$pfad."/".$filename."\"><br>";
	}
}

?>


natürlich muss das ganze an dein Script angepasst werden

grüße Samuel



Hallo Samuel
also irgendwie krieg ich das nicht gedüddelt.
Habe
$pfad = $pfad = "d:/web/bilder/10111/klein";
angegeben, krieg aber nur eine leere Seite angezeigt. :)

arbeite auf win2000 und gehe über intranet auf win98SE . Dort ist apache installiert (WAMP).

Gruss unacanuma
 
Tag der Herr,
hab jetzt gleich Schule aus.

Werd dir aber um ca. 16:00 Uhr ein Script posten das 100%ig funktioniert.
Komm leider erst dann wieder ins Internet.

hoffe das ist noch früh genug.

Grüße Samuel
 
Original geschrieben von _voodoo
PHP:
<?
if ($form=="Bilder anzeigen")) {
  echo "<form action=".$_SERVER['PHP_SELF']." method=Post>
  <table width='790' border='0' cellspacing='0' cellpadding='10'><tr><td width='790'>";
  $bilddir=$_POST["artikel_id"];
  $artikel_id=$bilddir;
  $verz=opendir ("D:/web/bilder/$bilddir/klein/");
  $bilder = Array();
  while ($file = readdir ($verz)) {
    if ($file != "." && $file != "..")
      $file = substr($file, 0, strrpos(".", file));
      $bilder[] = $file;
    }
  closedir($verz);
  }

  asort($file);
  reset($file);

  while (list ($key, $val) = each($file)) echo "<a href='D:/web/bilder/$bilddir/gross/$val.jpg' target='_new'><img src='D:/web/bilder/$bilddir/klein/$val.jpg' >".$val."</a ><input name='bild[]' type='checkbox' value='$val'>";

  $bilderschlonz = bildanzeige($bilddir, $verz);
  echo "
<INPUT TYPE='HIDDEN' name='bilddir' value='$artikel_id'>
<INPUT TYPE='HIDDEN' name='verz' value='$artikel_id'>
<INPUT TYPE='HIDDEN' name='artikel_id' value='$artikel_id'>
<INPUT TYPE='SUBMIT' name='form' value='Auswahl-Bilder'>";
  if ($alle_bearbeiten_info=="".$_POST["weiter_bearbeiten"]."") {
  echo "<INPUT TYPE='hidden' name='alle_bearbeiten' value='".$_POST["alle_bearbeiten"]."'>";
  echo $_POST["alle_bearbeiten"];
  }
  echo "</td></tr></table>
</form>";
}

?>


Alle Bildernamen das .jpg entfernen und in einen Array einlesen, dieses sortieren und dann alles wieder ausgeben.

Hallo Vodoo
dank Dir für die antwort. Werde ich doch gleich mal probieren.
Ich hatte schon mit sort($file, sort_numeric)
probiert aber dann nur Fehlerschlonz bekommen.

Gruss unacanuma
 
Zurück