Avatar billede mkjaer Nybegynder
04. marts 2003 - 09:38 Der er 7 kommentarer og
1 løsning

Upload via PHP

Hejsa,

Jeg arbejder med en form, hvor man skal kunne uploade filer til et bibliotek på serveren. Jeg har spurgt udbyderen, og jeg kan uploade til alle biblioteker på mine hjemmeside.

Jeg har lavet formen sådan her:

<form method="POST" enctype="multipart/form-data" action="<?$PHP_SELF?>">
<input type="file" name="fil">
<input type="submit" value="Send">
</form>

Spørgsmålet går på, hvad jeg skal gøre med filen, når den bliver 'submittet'. Hvordan definerer jeg biblioteket, hvor PHP skal placerer filen? Jeg vil også gerne omdøbe filen, hvordan gøres dette smartest?

På forhånd tak,
Martin
Avatar billede schaefner Juniormester
04. marts 2003 - 09:43 #1
Avatar billede exp Juniormester
04. marts 2003 - 09:46 #2
Avatar billede morpheus Nybegynder
04. marts 2003 - 11:01 #3
Avatar billede mkjaer Nybegynder
04. marts 2003 - 11:24 #4
Hejsa,

Jeg forsøger mig med eksemplet fra webcafen.
Jeg har puttet denne stump kode ind i mit script:

$konfiguration["upload_bibliotek"] = "./billeder";
$konfiguration["max_stoerrelse"] = "100000";

// Hvor flytter vi fra og til
$fra = $_FILES["upfil"]["tmp_name"];
$til = $konfiguration["billeder"] . "/" . $_FILES["upfil"]["name"];

// Accepterer vi filens stoerrelse?
$fil_stoerrelse = filesize($fra)/1024;
if($fil_stoerrelse > $konfiguration["max_stoerrelse"]) {
  die("Desværre - filen er for stor. Jeg accepterer kun " .
      $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " .
      ceil($fil_stoerrelse, 1) . " kb");
}

// Saa koerer vi
if(function_exists("move_uploaded_file")) {
  move_uploaded_file($fra, $til);
} else {
  copy($fra, $til);
}

Jeg har chmod'et til 777 på biblioteket '/billeder', som skal modtage billederne. Men jeg får alligevel denne fejl:

Warning: Unable to create '/index.php': Permission denied in /home/sites/site234/web/kontrol/admin.inc.php on line 37

Warning: Unable to move '/tmp/phpvHwXti' to '/index.php' in /home/sites/site234/web/kontrol/admin.inc.php on line 37

Hvad gør jeg mon galt?

hilsen
Martin
Avatar billede xyborx Nybegynder
04. marts 2003 - 15:47 #5
$til = $konfiguration["billeder"] . "/" . $_FILES["upfil"]["name"];
..skal vist ændres til..
$konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];
Avatar billede xyborx Nybegynder
05. marts 2003 - 10:08 #6
Doh.. Sår'n der.. :o)
$til = $konfiguration["upload_bibliotek"] . "/" . $_FILES["upfil"]["name"];
Avatar billede neess Nybegynder
05. marts 2003 - 15:34 #7
har et kode eksempel der hjemme, kan sende det når jeg kommer hjem i aften, hvis du stadig bakser med det
Avatar billede schaefner Juniormester
05. marts 2003 - 16:31 #8
Har også lavet det her engang:

<form method="post" enctype="multipart/form-data" action="">
<input type="fil" name="fil">
<input type="submit" name="upload" value="Send">
</form>
<hr>
<?
$dir = "billedarkiv/"; // Mappe der skal uploades til. Skal chmod'es til 777
if (isset($_POST['upload'])){
    if($_FILES['fil']['name']){
        if(is_uploaded_file($_FILES['fil']['tmp_name'])) {
            move_uploaded_file($_FILES['fil']['tmp_name'], $dir.$_FILES['fil']['name']);
            echo "Filen blev uploadet!";
        } else {
            echo "Filen kunne ikke uploades!";
        }
    } else {
        echo "Ingen fil valgt!";
    }
}
?>
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