Avatar billede tristan_isa Nybegynder
02. december 2005 - 11:56 Der er 3 kommentarer og
1 løsning

er der nogen der har et upload script ?

er der nogen der har et link eller en allerede færdig lavet code til et script hvor bruger kan uploade billeder og filer til en hjemmeside ?
Avatar billede dotcom1 Nybegynder
02. december 2005 - 13:20 #1
<?php
/*
* Dette script viser thumbnails i alfabetisk rækkefølge af billeder i en angivet mappe.
* Ved klik åbnes de i original størrelse i et popup-vindue, der automatisk tilpasser sig størrelsen.
* Overskrivning af uploadede filer er ikke mulig.
* Script fra www.webcafe.dk men modificeret flere steder.
* Hvor skal filerne uploades til? Husk, at webserveren skal kunne
* skrive til dette bibliotek (chmod 777)
*/
$konfiguration["upload_bibliotek"] = "../dinmappe"; //Husk at angive mappenavn sidst i scriptet også

# Hvor mange kilobytes maa filerne fylde per styk?
$konfiguration["max_stoerrelse"] = "500";

# Find extension - for php versions > 4.3:
function get_ext($f) {
  $tmp = array_reverse(explode(".",basename($f)));
  return $tmp[0];
}

# Checker PHP-version
list($major, $minor, $rev) = explode(".", phpversion());
if($major < 4) {
  die("Jeg kan kun arbejde med PHP 4.0.0 eller derover");
}

# Udligner forskellene mellem 4.1.x og 4.0.x
# Bemaerk, at disse ikke er "superglobals"
if($minor < 1) {
  $_FILES = $HTTP_POST_FILES;
  $_POST = $HTTP_POST_VARS;
  $_SERVER = $HTTP_SERVER_VARS;
}

if($_FILES["upfil"]["size"] > 0) {

# Hvis der er en fil, saa uploader vi den.
# Foerst slaar vi lige fast, hvor filen skal flyttes fra og til.
# Findes en fil med samme navn stopper vi.
  $fra = $_FILES["upfil"]["tmp_name"];
  $til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];
  if (is_file($til)) {
  die("En fil med samme navn findes allerede på serveren. Omdøb venligst din fil.");
  }

# Checker lige om filen er for stor til at vi vil acceptere den.
  $fil_stoerrelse = filesize($fra)/1024;
  if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) {
      die("Desv&aelig;rre - filen er for stor. Jeg accepterer kun " .
          $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " .
          ceil($fil_stoerrelse) . "kb");
  }

$valid_types = array("txt","gif","jpg","png","pdf"); //Define file types here
    if (!in_array(get_ext($til), $valid_types)) {
    die("Ugyldig filtype. Tilladte filtyper er: ".join(", ", $valid_types));
  }

  if(function_exists("move_uploaded_file")) {
    move_uploaded_file($fra, $til);
  } else {
    copy($fra, $til);
  }
  header("Location: " . $_SERVER["PHP_SELF"]);
  exit;

} else {

# Intet tegn paa upload, saa vi viser bare listen over filer
# og HTML-formularen til nye uploads.
  $indhold = listFiler($konfiguration["upload_bibliotek"]);
  $indhold .= bygFormular($_SERVER["PHP_SELF"]);
  $output = bygSide("List filer", $indhold);
}
function bygSide($titel, $indhold) {

# Pakker indholdet ind i lidt formalia
  return '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
          "http://www.w3.org/TR/html4/loose.dtd">
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <html>
        <head>
        <style type="text/css">
        body {height:100%; margin:10px; font-family:arial, verdana, helvetica, sans-serif; font-size:11px;}
        li {margin-left:10px;}
        a:link{color: #666; text-decoration: none;}a:visited{color: #666; text-decoration: none;}
        a:hover{color:#000; text-decoration: underline;}a:active{color: #666666; text-decoration: none;}
        .subtitle {font-size:11px;} .title {font-size:14px; font-weight:bold;}
        :link:focus, :visited:focus {-moz-outline: none;}
        </style>
          <script language="JavaScript" type="text/javascript" src="all_javascripts.js"></script>
        <title>' . $titel . '</title></head>
        <body bgcolor="#ffffff">
        ' . $indhold . '</body>
        </html>
        ';
    }

# Skriver ud til browseren

echo $output;
exit;

function bygFormular($action) {
  $formular = '<form action="' . $action . '" method="post" enctype="multipart/form-data">
                <table border="0" cellpadding="5" cellspacing="0" style="border:1px solid #000;">
                  <tr>
                    <td align="right" bgcolor="#999"><b>Fil til upload:</b></td>
                    <td bgcolor="#cccccc"><input type="file" name="upfil" /></td>
                  </tr>
                  <tr>
                    <td colspan="2" align="center" bgcolor="#dddddd"><input type="submit" value="upload" /></td>
                  </tr>
                </table>
              </form>
              ';
  return "<br /><br /><b>Upload fil: - tilladte filtyper: txt, gif, jpg, png, pdf.</b>" . $formular;
}
function listFiler($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 alfabetisk 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...";
    }
    return "<span class=\"title\">Filer p&aring; lager:</span><br />\n"
    . "<br />\n"
    . "<span class=\"subtitle\">Klik på et billede for at se det i original st&oslash;rrelse.</span><br />\n"
    . "<br />\n"
    . "$liste";
  } else {
    die("Kunne ikke &aring;bne mappen: " . $bibliotek);
  }
}
# Angiv mappen hvis indhold skal vises som thumbnails.
echo listFiler("../dinmappe");
?>
<!-- Vigtigt: Husk at placere dette javaScript i <head>-sektionen på din webside! // -->
            <script language="JavaScript" type="text/javascript">
            function popit( fil, w, h ) {
              var w = window.open( '', 'billede', 'width='+(w+20)+', height='+(h+20)+',top=50,left=125, scrollbars=no, menubar=no, toolbar=no, status=no, resizable=yes' );
              var str = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"><html><head><meta http-equiv=\"imagetoolbar\" content=\"no\"><title>Klik på billedet for at lukke vinduet</title></head><body><img src=\""+fil+"\" onclick=\"window.close()\" onmouseover=\"this.style.cursor='pointer';\" alt=\"\" title=\"Klik for at lukke vinduet\"></body></html>";
            w.document.open();
            w.document.write(str);
            w.window.status = "Klik på billedet for at lukke vinduet";
            w.document.close();
            }
              </script>
Avatar billede dotcom1 Nybegynder
02. december 2005 - 13:22 #2
Lille ændring:

<?php
/*
* Dette script viser thumbnails i alfabetisk rækkefølge af billeder i en angivet mappe.
* Ved klik åbnes de i original størrelse i et popup-vindue, der automatisk tilpasser sig størrelsen.
* Overskrivning af uploadede filer er ikke mulig.
* Script fra www.webcafe.dk men modificeret flere steder.
* Hvor skal filerne uploades til? Husk, at webserveren skal kunne
* skrive til dette bibliotek (chmod 777)
*/
$konfiguration["upload_bibliotek"] = "../dinmappe"; //Husk at angive mappenavn sidst i scriptet også

# Hvor mange kilobytes maa filerne fylde per styk?
$konfiguration["max_stoerrelse"] = "500";

# Find extension - for php versions > 4.3:
function get_ext($f) {
  $tmp = array_reverse(explode(".",basename($f)));
  return $tmp[0];
}

# Checker PHP-version
list($major, $minor, $rev) = explode(".", phpversion());
if($major < 4) {
  die("Jeg kan kun arbejde med PHP 4.0.0 eller derover");
}

# Udligner forskellene mellem 4.1.x og 4.0.x
# Bemaerk, at disse ikke er "superglobals"
if($minor < 1) {
  $_FILES = $HTTP_POST_FILES;
  $_POST = $HTTP_POST_VARS;
  $_SERVER = $HTTP_SERVER_VARS;
}

if($_FILES["upfil"]["size"] > 0) {

# Hvis der er en fil, saa uploader vi den.
# Foerst slaar vi lige fast, hvor filen skal flyttes fra og til.
# Findes en fil med samme navn stopper vi.
  $fra = $_FILES["upfil"]["tmp_name"];
  $til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];
  if (is_file($til)) {
  die("En fil med samme navn findes allerede på serveren. Omdøb venligst din fil.");
  }

# Checker lige om filen er for stor til at vi vil acceptere den.
  $fil_stoerrelse = filesize($fra)/1024;
  if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) {
      die("Desv&aelig;rre - filen er for stor. Jeg accepterer kun " .
          $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " .
          ceil($fil_stoerrelse) . "kb");
  }

$valid_types = array("txt","gif","jpg","png","pdf"); //Define file types here
    if (!in_array(get_ext($til), $valid_types)) {
    die("Ugyldig filtype. Tilladte filtyper er: ".join(", ", $valid_types));
  }

  if(function_exists("move_uploaded_file")) {
    move_uploaded_file($fra, $til);
  } else {
    copy($fra, $til);
  }
  header("Location: " . $_SERVER["PHP_SELF"]);
  exit;

} else {

# Intet tegn paa upload, saa vi viser bare listen over filer
# og HTML-formularen til nye uploads.
  $indhold = listFiler($konfiguration["upload_bibliotek"]);
  $indhold .= bygFormular($_SERVER["PHP_SELF"]);
  $output = bygSide("List filer", $indhold);
}
function bygSide($titel, $indhold) {

# Pakker indholdet ind i lidt formalia
  return '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
          "http://www.w3.org/TR/html4/loose.dtd">
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <html>
        <head>
        <style type="text/css">
        body {height:100%; margin:10px; font-family:arial, verdana, helvetica, sans-serif; font-size:11px;}
        li {margin-left:10px;}
        a:link{color: #666; text-decoration: none;}a:visited{color: #666; text-decoration: none;}
        a:hover{color:#000; text-decoration: underline;}a:active{color: #666; text-decoration: none;}
        .subtitle {font-size:11px;} .title {font-size:14px; font-weight:bold;}
        :link:focus, :visited:focus {-moz-outline: none;}
        </style>
        <title>' . $titel . '</title></head>
        <body bgcolor="#ffffff">
        ' . $indhold . '</body>
        </html>
        ';
    }

# Skriver ud til browseren

echo $output;
exit;

function bygFormular($action) {
  $formular = '<form action="' . $action . '" method="post" enctype="multipart/form-data">
                <table border="0" cellpadding="5" cellspacing="0" style="border:1px solid #000;">
                  <tr>
                    <td align="right" bgcolor="#999"><b>Fil til upload:</b></td>
                    <td bgcolor="#cccccc"><input type="file" name="upfil" /></td>
                  </tr>
                  <tr>
                    <td colspan="2" align="center" bgcolor="#dddddd"><input type="submit" value="upload" /></td>
                  </tr>
                </table>
              </form>
              ';
  return "<br /><br /><b>Upload fil: - tilladte filtyper: txt, gif, jpg, png, pdf.</b>" . $formular;
}
function listFiler($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 alfabetisk 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...";
    }
    return "<span class=\"title\">Filer p&aring; lager:</span><br />\n"
    . "<br />\n"
    . "<span class=\"subtitle\">Klik på et billede for at se det i original st&oslash;rrelse.</span><br />\n"
    . "<br />\n"
    . "$liste";
  } else {
    die("Kunne ikke &aring;bne mappen: " . $bibliotek);
  }
}
# Angiv mappen hvis indhold skal vises som thumbnails.
echo listFiler("../dinmappe");
?>

<!-- Vigtigt: Husk at placere dette javaScript i <head>-sektionen! // -->
            <script language="JavaScript" type="text/javascript">
            function popit( fil, w, h ) {
              var w = window.open( '', 'billede', 'width='+(w+20)+', height='+(h+20)+',top=50,left=125, scrollbars=no, menubar=no, toolbar=no, status=no, resizable=yes' );
              var str = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"><html><head><meta http-equiv=\"imagetoolbar\" content=\"no\"><title>Klik på billedet for at lukke vinduet</title></head><body><img src=\""+fil+"\" onclick=\"window.close()\" onmouseover=\"this.style.cursor='pointer';\" alt=\"\" title=\"Klik for at lukke vinduet\"></body></html>";
            w.document.open();
            w.document.write(str);
            w.window.status = "Klik på billedet for at lukke vinduet";
            w.document.close();
            }
              </script>
Avatar billede showsource Seniormester
02. december 2005 - 14:34 #3
Avatar billede tristan_isa Nybegynder
02. december 2005 - 19:38 #4
tusind tak for det. jeg håber at jeg kan kontankte dig hvis jeg løber ind i problemer.
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