Avatar billede vixmix Nybegynder
06. oktober 2004 - 18:28 Der er 1 kommentar

Hjælp til billede galleri.

Hej.

Jeg har følgende script:

<?
$dir = "billeder/";
// Det antal billeder der skal vises ad gangen
$antal = 10;
// Henter startnummeret.
$num = ($_GET['num']) ? (int) $_GET['num']-1 : 0;
function GetFileName($file) {
$part = explode(".", $file);
$file = "";
for($i=0;$i<count($part);$i++) {
  $file = $file . $part[$i];
}

return $file;
}

if ($handle = opendir($dir)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") {
            $files[] = $file;

        }
    }
    closedir($handle);
}
$td = 0;
sort($files);
echo "<center>";
// Tæller hvor mange filer der er
$antal_filer = sizeof($files);
// Sætter det næste og forrige nummer
$nextnum = $num+$antal+1;
$prevnum = $num-$antal;
// Tester om der skal laves en forrige eller næste link
if ($num >= $antal) echo "<a href='galleri.php?num=$prevnum' class=\"tekst_link\">Forrige $antal</a>&nbsp;&nbsp;&nbsp;";
if ($antal_filer > $nextnum) echo "<a href='galleri.php?num=$nextnum' class=\"tekst_link\">Næste $antal</a>";
echo "</center>\n<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" class=\"tekst_link\" align=\"center\"> ";
  for($i=$num;$i<$num+$antal;$i++){
// foreach($files as $file){
        $td++;
        if($td == 1) {echo "<tr>\n"; }
        // Tester om der er flere billeder at lave
        if ($i<sizeof($files)){
        ?>
<td align="center" width="25%">
                   
      <table cellpadding="0" cellspacing="5" align="left">
        <tr>
                       
          <td align="center" style="border: 1px solid #ffffff;"><img id=imgview<? echo $i; ?> src="<? echo $dir.$files[$i]; ?>" style="position:absolute;display:none;cursor:hand; left: 35px; top: 21px" alt="Klik for at lukke billedet" border=1 onClick="this.style.display='none';"><img style="cursor:hand" border=1 onClick="document.all.imgview<? echo $i; ?>.style.display='';" alt="Klik her for at se billedet i stor udgave" src="<? echo $dir.$files[$i]; ?>" width=150 height="101"></td>
        </tr>
        <tr>
          <td align="center" style="border: 1px solid #ffffff;"><?php echo GetFileName($file); ?></td>
        </tr>
                    </table>
</td>
  <?
        }
              if($td == 4) {echo "</tr>\n"; $td = 0;}
}
// }
?>


Det virker fint nok med at hente billederne.. men når den skal skrive navnet på filen virker det ikke den fucker det hele hele op. (det kan gøres ved at fjerne // ved "foreach($files as $file){" og den sidste "}" ). Jeg vil meget gerne have det bliver så det man kan se navnet på filen, kan i se hvad fejlen er ?
Avatar billede bojo Nybegynder
07. oktober 2004 - 07:23 #1
<?
$dir = "cd/";
// Det antal billeder der skal vises ad gangen
$antal = 10;
// Henter startnummeret.
$num = ($_GET['num']) ? (int) $_GET['num']-1 : 0;
function GetFileName($file) {
$part = explode(".", $file);
$file = "";
for($i=0;$i<count($part);$i++) {
  $file = $file . $part[$i];
}

return $file;
}

if ($handle = opendir($dir)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") {
            $files[] = $file;

        }
    }
    closedir($handle);
}
$td = 0;
sort($files);
echo "<center>";
// Tæller hvor mange filer der er
$antal_filer = sizeof($files);
// Sætter det næste og forrige nummer
$nextnum = $num+$antal+1;
$prevnum = $num-$antal;
// Tester om der skal laves en forrige eller næste link
if ($num >= $antal) echo "<a href='galleri.php?num=$prevnum' class=\"tekst_link\">Forrige $antal</a>&nbsp;&nbsp;&nbsp;";
if ($antal_filer > $nextnum) echo "<a href='galleri.php?num=$nextnum' class=\"tekst_link\">Næste $antal</a>";
echo "</center>\n<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" class=\"tekst_link\" align=\"center\"> ";

$i=0;
foreach($files as $file){
    $i++;
        $td++;
        if($td == 1) {echo "<tr>\n"; }
        // Tester om der er flere billeder at lave
        if ($i<sizeof($files)){
        ?>
<td align="center" width="25%">
                   
      <table cellpadding="0" cellspacing="5" align="left">
        <tr>
                       
          <td align="center" style="border: 1px solid #ffffff;"><img id=imgview<? echo $i; ?> src="<? echo $dir.$files[$i]; ?>" style="position:absolute;display:none;cursor:hand; left: 35px; top: 21px" alt="Klik for at lukke billedet" border=1 onClick="this.style.display='none';"><img style="cursor:hand" border=1 onClick="document.all.imgview<? echo $i; ?>.style.display='';" alt="Klik her for at se billedet i stor udgave" src="<? echo $dir.$files[$i]; ?>" width=150 height="101"></td>
        </tr>
        <tr>
          <td align="center" style="border: 1px solid #ffffff;"><?php echo GetFileName($file); ?></td>
        </tr>
                    </table>
</td>
  <?
        }
              if($td == 4) {echo "</tr>\n"; $td = 0;}
}

?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester