Avatar billede cronaldo Nybegynder
17. februar 2005 - 16:51 Der er 5 kommentarer og
1 løsning

Hjælp til fileupload!

Ja, jeg har WebCAfeens fileupload, men den skriver denne fejl:


Warning: move_uploaded_file(/upload/index.htm): failed to open stream: No such file or directory in /usr/home/mahunidk/domains/mahuni.dk/public_html/fmc/upload/acceptupload.php on line 54

Warning: move_uploaded_file(): Unable to move '/var/tmp/phpjP6kp6' to '/upload/index.htm' in /usr/home/mahunidk/domains/mahuni.dk/public_html/fmc/upload/acceptupload.php on line 54

------------------------------------------------------
Her er koden
------------------------------------------------------

<?php


$konfiguration["upload_bibliotek"] = "/upload";

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


/**
* 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) {


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

  exit;

} else {

  $indhold = listFiler($konfiguration["upload_bibliotek"]);
  $indhold .= bygFormular($_SERVER["PHP_SELF"]);
  $output = bygSide("hej", $indhold);

}



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);
  }

}

?>

-----------
Kan det være noget med det der $fra, hvor der står tmp_name, og i såfald, hvad skal jeg rette det til, den fil hvor informationerne bliver hentet fra ser således ud:
------------------------------------------

<form action="acceptupload.php" method="post" enctype="multipart/form-data">
  <b>Fil til upload:</b>
  <input type="file" name="upfil" />
  <input type="submit" value="Upload" />
</form>
Avatar billede erikjacobsen Ekspert
17. februar 2005 - 16:59 #1
Du skal ændre

$konfiguration["upload_bibliotek"] = "/upload";

til den aktuelle sti på serveren, måske noget i retning af /home/domæne/html/upload ... eller sådan noget. Det afhænger af din udbyder hvad den hedder.
Avatar billede cronaldo Nybegynder
17. februar 2005 - 17:31 #2
Det virker stadig ikke .. !
Avatar billede cronaldo Nybegynder
17. februar 2005 - 17:42 #3
Ni virker det ! det var CHMOD ..  Det eneste der ikke virker er at den skal uploade det? :S hmm ..
DEn skriver ingen fejl, men der kommer heller ingen filer op i biblioteket :S
Avatar billede erikjacobsen Ekspert
17. februar 2005 - 18:54 #4
Hvad har du skrevet?
Avatar billede cronaldo Nybegynder
30. december 2005 - 17:27 #5
erikjacobsen, skriv hvis du vil have point, jeg lukker denne tråd, men så kan du jo f det i en ny :)
Avatar billede erikjacobsen Ekspert
30. december 2005 - 17:54 #6
Jeg samler slet ikke på point, så det er fint med mig.
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