Avatar billede freakk Nybegynder
12. november 2004 - 00:25 Der er 15 kommentarer og
1 løsning

visning af mappe indhold

jeg har dette script som viser mappens indhold som links..

men kan man få den til at liste filerne ( i dette tilfælde billederne)
som billeder i stedet for at den laver links?
evt. resize billederne til fx 100px bred? ( kun ved fremvisning)

de skal stadig funge som links til det originale billede!
Avatar billede freakk Nybegynder
12. november 2004 - 00:26 #1
how.. glemte scriptet.. det kommer her:

<?php

function upload_fil($fil, $max_stoerrelse = 100, $bibliotek = "default", $filtyper_tilladt = "default") {

    if ($bibliotek == "default") {
        $bibliotek = "upload";
    }

    if ($filtyper_tilladt == "default") {
        $filtyper_tilladt = array("image/bmp", "image/jpeg", "image/pjpeg", "image/tiff", "image/png", "image/gif", "application/pdf");
    }

    if ($fil["size"] > 0) {
     
        $filnavn = strtolower(ereg_replace(" ", "_", $fil["name"]));
        $fil_sti = $bibliotek . "/" . $filnavn;
        $fra = $fil["tmp_name"];
        $fil_stoerrelse = filesize($fra)/1024;
        $filtype = $fil["type"];
        $fejl = 0;

        if (!in_array($filtype, $filtyper_tilladt)) {
            echo "<p>Filtypen '$filtype' er ikke tilladt. De tilladte filtyper er '" . implode("', '", $filtyper_tilladt) . "'. Filen '$filnavn' kan derfor ikke uploades!</p>";
            $fejl = 1;
        }
        if ($fil_stoerrelse > $max_stoerrelse) {
            echo "<p>Filen '$filnavn' er for stor og kan ikke uploades. Den fylder " . ceil($fil_stoerrelse) . " kb og der kan maximalt uploades $max_stoerrelse kb!</p>";
            $fejl = 1;
        }
        if ($fejl == 0) {
            if (file_exists($fil_sti)) {
             
                $pos = strrpos($filnavn, ".");
                $foerpos = substr($filnavn, 0, $pos);
                $efterpos = substr($filnavn, $pos + 1, strlen($filnavn) - ($pos + 1));
                $i = 2;
             
                echo "<p>Filen '$filnavn' eksisterer allerede i '" . $bibliotek . "' og filen omdøbes derfor til ";
             
                while (file_exists($fil_sti)) {
                    $filnavn = $foerpos . "(" . $i . ")." . $efterpos;
                    $fil_sti = $bibliotek . "/" . $filnavn;
                    $i++;
                }
                echo "'$filnavn'</p>";
            }

            $til = $fil_sti;

            if (move_uploaded_file($fra, $til)) {
                echo "<p>Filen '$filnavn' er uploadet!</p>";
                return $fil_sti;
            } else {
                echo "<p>Desværre, filen '$filnavn' kunne ikke uploades!</p>";
                return false;
            }
        }
    } else {
        echo "<p>Der er ikke vedhæftet nogen fil!</p>";
    }
}

?>

<html>

<head>
</head>

<body>

<div>

<?php

function listFiler($bibliotek) {

  if($bib = @opendir($bibliotek)) {
    /**
    * Denne syntaks er forklaret i PHP-manualen:
    * http://www.php.net/manual/en/function.readdir.php
    */
    while (false !== ($fil = readdir($bib))) {
      if($fil != "." && $fil != ".." && !ereg("^\..+", $fil)) {
          $fil_liste[] = "<a href=\"$bibliotek/$fil\" target=_blank>$fil</a>";
      }
    }
    closedir($bib);

    if(is_array($fil_liste)) {
      $liste = "<li>" . join("</li><li>", $fil_liste) . "</li>";
    } else {
      $liste = "<li>Ingen filer p&aring; lager</li>";
    }
    return "<h2>Filer p&aring; lager:</h2><ul>" . $liste . "</ul>";
  } else {
    die("Kunne ikke &aring;bne biblioteket: " . $bibliotek);
  }

}

if ($_POST[sendknap]) {

    $fil = $_FILES["upfil"];
    $max_stoerrelse = 1000;
    $upload_mappe = "upload";
 
    upload_fil($fil);

}
echo listFiler("upload");
?>
</font>
</div>

</body>

</html>
Avatar billede michael_stim Ekspert
12. november 2004 - 00:34 #2
Pröv denne:
$fil_liste[] = "<img src=\"$bibliotek/$fil\" width=\"100px\">";
Avatar billede michael_stim Ekspert
12. november 2004 - 00:39 #3
Ups läste ikke det sidste.
$fil_liste[] = "<a href=\"$bibliotek/$fil\" target=_blank><img src=\"$bibliotek/$fil\" width=\"100px\"></a>";
Avatar billede freakk Nybegynder
12. november 2004 - 00:40 #4
har prøvet at sætte den ind men det virker ikke..
er der et bestemt sted den skal indsættes eller er det underordnet ?
Avatar billede michael_stim Ekspert
12. november 2004 - 00:41 #5
Du skal bytteden ud med:
$fil_liste[] = "<a href=\"$bibliotek/$fil\" target=_blank>$fil</a>";
Avatar billede freakk Nybegynder
12. november 2004 - 00:44 #6
det virker sq.. mange tak..

kan det også laves sådan at billederne er ved siden af hinanden i stedet for dette:
www.freakk.frac.dk/upload.php
Avatar billede michael_stim Ekspert
12. november 2004 - 00:52 #7
if(is_array($fil_liste)) {
      $liste = $fil_liste;
    } else {
      $liste = "Ingen filer p&aring; lager";
    }
    return "<h2>Filer p&aring; lager:</h2>" . $liste";
  } else {
    die("Kunne ikke &aring;bne biblioteket: " . $bibliotek);
  }

}
Avatar billede michael_stim Ekspert
12. november 2004 - 00:53 #8
Glemte at fjerne en "

if(is_array($fil_liste)) {
      $liste = $fil_liste;
    } else {
      $liste = "Ingen filer p&aring; lager";
    }
    return "<h2>Filer p&aring; lager:</h2>" . $liste;
  } else {
    die("Kunne ikke &aring;bne biblioteket: " . $bibliotek);
  }

}
Avatar billede michael_stim Ekspert
12. november 2004 - 01:02 #9
Natti natti ;o)
Avatar billede freakk Nybegynder
12. november 2004 - 15:32 #10
Michael den virker ikke..
Avatar billede michael_stim Ekspert
12. november 2004 - 15:40 #11
hvilken fejlmeddelse får du?
Avatar billede michael_stim Ekspert
12. november 2004 - 15:47 #12
Pröv at bytte denne:
$liste = $fil_liste;
Med denne:
$liste = join(" ", $fil_liste);
Avatar billede freakk Nybegynder
12. november 2004 - 15:53 #13
kan ikke lige se hvor den skal erstattes.. !?

kan ikke huske fejlmeddelse da jeg har rettet det igen
Avatar billede michael_stim Ekspert
12. november 2004 - 15:54 #14
if(is_array($fil_liste)) {
      $liste = join(" ", $fil_liste);
    } else {
      $liste = "Ingen filer p&aring; lager";
    }
    return "<h2>Filer p&aring; lager:</h2>" . $liste;
  } else {
    die("Kunne ikke &aring;bne biblioteket: " . $bibliotek);
  }

}
Avatar billede freakk Nybegynder
12. november 2004 - 16:15 #15
Ja nemlig ja.. nu virker det sq.. mange tak for hjælpen !! ;)
Avatar billede michael_stim Ekspert
12. november 2004 - 16:19 #16
Perfekt ;o)
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