04. januar 2005 - 22:57
Der er
6 kommentarer og 1 løsning
Sortere filer i mappe når de skal vises.
Dette script viser billeder i en mappe som klikbare thumbnails: <?php function listFiler2($bibliotek) { if($bib = @opendir($bibliotek)) { while (false !== ($fil = readdir($bib))) { if($fil != "." && $fil != ".." && !ereg("^\..+", $fil)) { list($w, $h, $x, $x) = getimagesize( "$bibliotek/$fil" ); $fil_liste[] = "<a href=\"java script:popit('$bibliotek/$fil', $w, $h)\"><img src=\"$bibliotek/$fil\" width=\"100px\" height=\"100px\" border=\"0\" alt=\"$fil\" title=\"$fil\" style=\"border:1px solid #333;\"></a>"; } } closedir($bib); if(is_array($fil_liste)) { $liste = join(" ", $fil_liste); } else { $liste = "Ingen filer på lager..."; } return "" . "Klik på et billede for at se det i original størrelse.<br />\n" . "<br />\n" . "$liste"; } else { die("Kunne ikke åbne mappen: " . $bibliotek); } } echo listFiler2("fotos"); ?> Det lader til at scriptet viser billederne i en ret tilfældig rækkefølge - kunne man fx. få det til at sortere billederne efter navn når de vises? Kunne man desuden få scriptet til ikke at vise undermapper i den mappe, hvor billederne ligger? Lige nu laver den et lille link, hvis der er undermapper. Mvh.
Annonceindlæg fra Kingston Technology
04. januar 2005 - 23:04
#1
lav den øverste while sætning om til 2 while sætninger: $filnavne = array(); while (false !== ($fil = readdir($bib))) { // hent alle filnavne if($fil != "." && $fil != ".." && !ereg("^\..+", $fil)) { $filnavne[] = $fil; } } sort( $filnavne ); // her sorteres arrayet efter filnavn foreach( $filnavne as $fil ) { // udskriv udaf arrayet list($w, $h, $x, $x) = getimagesize( "$bibliotek/$fil" ); $fil_liste[] = "<a href=\"java script:popit('$bibliotek/$fil', $w, $h)\"><img src=\"$bibliotek/$fil\" width=\"100px\" height=\"100px\" border=\"0\" alt=\"$fil\" title=\"$fil\" style=\"border:1px solid #333;\"></a>"; }
04. januar 2005 - 23:13
#2
Sådan? <?php function listFiler2($bibliotek) { if($bib = @opendir($bibliotek)) { $filnavne = array(); while (false !== ($fil = readdir($bib))) { // hent alle filnavne if($fil != "." && $fil != ".." && !ereg("^\..+", $fil)) { $filnavne[] = $fil; } } sort( $filnavne ); // her sorteres arrayet efter filnavn foreach( $filnavne as $fil ) { // udskriv udaf arrayet list($w, $h, $x, $x) = getimagesize( "$bibliotek/$fil" ); $fil_liste[] = "<a href=\"java script:popit('$bibliotek/$fil', $w, $h)\"><img src=\"$bibliotek/$fil\" width=\"100px\" height=\"100px\" border=\"0\" alt=\"$fil\" title=\"$fil\" style=\"border:1px solid #333;\"></a>"; } } closedir($bib); if(is_array($fil_liste)) { $liste = join(" ", $fil_liste); } else { $liste = "Ingen filer på lager..."; } return "" . "Klik på et billede for at se det i original størrelse.<br />\n" . "<br />\n" . "$liste"; } else { die("Kunne ikke åbne mappen: " . $bibliotek); } } echo listFiler2("fotos"); ?> Får parse error i linie 29, det er } else {
05. januar 2005 - 12:04
#3
Nogen, der kan rette fejlen?
05. januar 2005 - 16:22
#4
Der var en "}" for meget, men nu viser scriptet hvert billede flere gange - op til 5 eller 6 gange, hvorfor nu det? <?php function listFiler2($bibliotek) { if($bib = @opendir($bibliotek)) { $filnavne = array(); while (false !== ($fil = readdir($bib))) { // hent alle filnavne if($fil != "." && $fil != ".." && !ereg("^\..+", $fil)) { $filnavne[] = $fil; } sort( $filnavne ); // her sorteres arrayet efter filnavn foreach( $filnavne as $fil ) { // udskriv udaf arrayet list($w, $h, $x, $x) = getimagesize( "$bibliotek/$fil" ); $fil_liste[] = "<a href=\"java script:popit('$bibliotek/$fil', $w, $h)\"><img src=\"$bibliotek/$fil\" width=\"100px\" height=\"100px\" border=\"0\" alt=\"$fil\" title=\"$fil\" style=\"border:1px solid #333;\"></a>"; } } closedir($bib); if(is_array($fil_liste)) { $liste = join(" ", $fil_liste); } else { $liste = "Ingen filer på lager..."; } return "" #. "Klik på et billede for at se det i original størrelse.<br />\n" #. "<br />\n" . "$liste"; } else { die("Kunne ikke åbne mappen: " . $bibliotek); } } echo listFiler2("fotos"); ?>
05. januar 2005 - 21:43
#5
Jakoba, det virker. Læg lige et svar.
08. januar 2005 - 12:39
#6
Jakoba?
08. januar 2005 - 16:37
#7
Lukker.
Vi tilbyder markedets bedste kurser inden for webudvikling