Avatar billede thesams Nybegynder
04. maj 2006 - 22:41 Der er 5 kommentarer

Problem med upload

Jeg er igang med at lave, så jeg kan uploade filer til serveren.
jeg har bare et par problemer.

Det første problem er at på forside skriver den:

Notice: Undefined index: upfil in D:\Websider\resadmin\lebaekroklubdk\humlebaek-roklub.dk\www\test\wc_upload.php on line 49

jeg kan ikke få det fjernet


mit andet problem er at når jeg har klikket på upload så skriver den:

Warning: Cannot modify header information - headers already sent by (output started at D:\Websider\resadmin\lebaekroklubdk\humlebaek-roklub.dk\www\test\wc_upload.php:7) in D:\Websider\resadmin\lebaekroklubdk\humlebaek-roklub.dk\www\test\wc_upload.php on line 78

jeg forstår det overhovedt ikke!

Prøv at kig her:

http://www.humlebaek-roklub.dk/test/wc_upload.php
(Se øverst, samt prøv at uploade noget!

Kan du hjælpe mig?

på forhånd tak!
Avatar billede thesams Nybegynder
04. maj 2006 - 22:42 #1
Mit script ser således ud:
Avatar billede thesams Nybegynder
04. maj 2006 - 22:42 #2
<html>
<head>
<title>No title</title>
<meta name="generator" content="Namo WebEditor(Trial)">
</head>

<br />
<b>Notice</b>:  Undefined index:  upfil in <b>D:\Websider\resadmin\lebaekroklubdk\humlebaek-roklub.dk\www\test\wc_upload.php</b> on line <b>49</b><br />
<html>
            <head><title>hej</title></head>
            <body bgcolor="#ffffff">
              <div align="right"><a href="./">Tilbage til artiklen</a></div>
              <h2>Filer p&aring; lager:</h2><ul><li><a href="./upload/411.jpg">411.jpg</a></li><li><a href="./upload/eirik.txt">eirik.txt</a></li></ul><h2>Upload fil:</h2><form action="/test/wc_upload.php" method="post" enctype="multipart/form-data">
                <table border="1" cellpadding="5" cellspacing="0">
                  <tr>
                    <td align="right" bgcolor="#999999"><b>Fil til upload:</b></td>
                    <td bgcolor="#cccccc"><input type="file" name="upfil" /></td>
                  </tr>
                  <tr>
                    <td colspan="2" align="middle" bgcolor="#dddddd"><input type="submit" value="upload" /></td>
                  </tr>
                </table>
              </form>
              </body>
          </html>
Avatar billede thesams Nybegynder
04. maj 2006 - 22:44 #3
Den uploader fint! og man kan sagtens se filerne når man klikker tilbage og opdater!
Avatar billede olebole Juniormester
05. maj 2006 - 01:20 #4
<ole>

Det er PHP-fejl, så HTML-koden gør ingen gavn. Dog kan jeg se, du allerede har påbegyndt noget udskrivning til browseren, når du forsøger at sætte en header ... det kan man ikke  :)

Mere hjælp kan der ikke gives uden koden

/mvh
</bole>
Avatar billede thesams Nybegynder
05. maj 2006 - 12:52 #5
<html>
<head>
<title>No title</title>
<meta name="generator" content="Namo WebEditor(Trial)">
</head>

<?php

/**
* Simpelt script der tager imod et filupload og lister
* filer i upload-biblioteket.
*
* Scriptet er et eksempel til en artikel paa WebCafe.dk:
*
*    http://www.webcafe.dk/artikler/php/upload/
*/


/**
* Hvor skal filerne uploades til?
* Husk, at webserveren skal kunne skrive til dette bibliotek
*/
$konfiguration["upload_bibliotek"] = "./upload";

/* Hvor mange kilobytes maa filerne fylde per styk? */
$konfiguration["max_stoerrelse"] = "30";


/**
* 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.
  */

  $fra = $_FILES["upfil"]["tmp_name"];
  $til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];

  /**
  *  Checker lige om filen er for stor til at vi vil acceptere den.
  *  Vi bruger ceil() i stedet for round(), saa vi ikke faar den skoere
  *  situation, at fejlmeldingen siger, at filen er for stor, men angiver
  *  samme stoerrelse for filen og den oevre graense.
  */
  $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");
  }
  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("hej", $indhold);

}


/**
* Skriver ud til browseren
*/
echo $output;
exit;



/**************************************************\
**              Hjaelpefunktioner              **
\**************************************************/

function bygSide($titel, $indhold) {

  /**
  * Pakker indholdet ind i lidt formalia
  */
  return '<html>
            <head><title>' . $titel . '</title></head>
            <body bgcolor="#ffffff">
              <div align="right"><a href="./">Tilbage til artiklen</a></div>
              ' . $indhold . '</body>
          </html>
        ';

}

function bygFormular($action) {

  $formular = '<form action="' . $action . '" method="post" enctype="multipart/form-data">
                <table border="1" cellpadding="5" cellspacing="0">
                  <tr>
                    <td align="right" bgcolor="#999999"><b>Fil til upload:</b></td>
                    <td bgcolor="#cccccc"><input type="file" name="upfil" /></td>
                  </tr>
                  <tr>
                    <td colspan="2" align="middle" bgcolor="#dddddd"><input type="submit" value="upload" /></td>
                  </tr>
                </table>
              </form>
              ';

  return "<h2>Upload fil:</h2>" . $formular;

}

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\">$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);
  }

}

?>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
<p>&nbsp;</p>
</body>

</html>
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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