Avatar billede prop46 Nybegynder
16. december 2003 - 18:24 Der er 16 kommentarer og
2 løsninger

Upload billede (ja, igen)

Jeg skal uploade billede til server, lægge stien i mysql og have mulighed for at "opdaterer" billedet (erstatte det med et andet).

.. nåja, og hjælp til det også :0)
Avatar billede fangel Nybegynder
16. december 2003 - 19:26 #1
1) læs om file uploads i PHP manualen, så lære det at uploade filer
2) lær at indsætte ting i mysql - meget let ! - indsæt filnavnet (du lære at finde filnavnet under file uploads
3) lær at liste indholdet af en tabel og lave updates af tabellen... helle ikke særligt svært

hvad skal du ellers have hjælp til?

Morten
Avatar billede prop46 Nybegynder
16. december 2003 - 19:43 #2
Du er da ellers en sjov fætter !

Lad mig da lieg uddybe ifald det er min dårlige spørgsmålsformulering der får humoren til at boble over.....

Glem alt andet end "at uploade billeder til serveren og returnere en sti" ... her incl. tjekke størrelsen, navngive osv.

Hjalp det?
Avatar billede prop46 Nybegynder
16. december 2003 - 19:47 #3
Det eneste jeg har er:

<form action="" method="post" enctype="multipart/form-data">
  <span class="p4">Upload nyt BILLEDE:&nbsp;&nbsp;&nbsp;</span>
  <input type="file" name="upfil"
  <input type="submit" value="upload">
</form>
Avatar billede fangel Nybegynder
16. december 2003 - 20:06 #4
prøv at læs

http://dk.php.net/manual/en/features.file-upload.php

den er faktisk ret så brugbar - mange gode eksempler osv

Morten
Avatar billede ultragames Nybegynder
16. december 2003 - 20:31 #5
Avatar billede prop46 Nybegynder
18. december 2003 - 16:54 #6
Okay... jeg har nu læst webcafeens eks... men ken selvf. ikke få det til at virke!

if (isset($_POST['upfile'])) {
    $konfiguration["upload_bibliotek"] = "bruger/image";
    $konfiguration["max_stoerrelse"] = "30";

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

    /* Skab de "moderne" arrays hvis vi arbejder med en aeldre PHP */
    if($minor < 1) {
      $_FILES = $HTTP_POST_FILES;
      $_POST = $HTTP_POST_VARS;
      $_SERVER = $HTTP_SERVER_VARS;
    }

    /* Hvor flytter vi fra og til */
    $fra = $_FILES["upfil"]["tmp_name"];
    $til = $konfiguration["upload_bibliotek"] . "/" . $_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);
    }
}

<form action="" method="post" enctype="multipart/form-data" style="display:inline">
    <input type="file" name="upfile" class="submit3">
    <input type="submit" value="upload" class="submit3">
</form>
Avatar billede sukos Juniormester
20. december 2003 - 07:45 #7
Du kan også prøve dette, til at komme videre med:
http://www.showsource.dk/php/vis_script.php?id=1064975823
Avatar billede prop46 Nybegynder
20. december 2003 - 13:09 #8
Har nu fået uploadet til at virke.. Men... hvordan omdøber jeg filen?... kan ikke lige få det til at virke sådan at filtypen ikke forsvinder!

if(isset($_FILES["singlefile"])) {

    $dist = "bruger/image/";

    $str1 = $_FILES["singlefile"]["name"];
    $str2 = $_FILES["singlefile"]["size"];
    $str3 = $_FILES["singlefile"]["type"];

    $filetyper = array("image/gif", "image/jpeg", "image/pjpeg");

    if ($_FILES["singlefile"]["name"] == "") {
        echo"Ingen fil valgt!";
    }elseif ($_FILES["singlefile"]["size"] < "30000") {
        if (!in_array($_FILES["singlefile"]["type"], $filetyper)) {
            echo "Filen kan ikke uploades.<br>\n<b>". $str3 ."</b> er ikke tilladt for upload!";
        }elseif(is_uploaded_file($_FILES["singlefile"]["tmp_name"])) {

            move_uploaded_file($_FILES["singlefile"]["tmp_name"], $dist . $_FILES["singlefile"]["name"]);

            echo"filen er uploadet<p>\n";
            echo "<b>Navn:</b> ". $str1 .",<br>\n";
            echo"<b>St&oslash;rrelse:</b> ". $str2 ." bytes,<br>\n";
            echo"<b>Filtype:</b> ". $str3 ."<br>\n";

        }else{
            echo"Sorry, men upload skete IKKE!";
        }
    }else {
        echo"Filen er for stor! Den må max være 30 kb";
    }
}
?>
Avatar billede sukos Juniormester
20. december 2003 - 13:36 #9
$newname = "dinomdøbning";

          move_uploaded_file($_FILES["singlefile"]["tmp_name"], $dist . $newname);


Men det med omdøbning, er lidt kringlet, afhængig af hvilke kreterier du stiller for en omdøbning.
Avatar billede sukos Juniormester
20. december 2003 - 13:39 #10
æhæ, og brug hellere f.eks:

    $dist = $_SERVER["DOCUMENT_ROOT"] ."/bruger/image/";

istedet for

    $dist = "bruger/image/";

noget med safe_mode = On i php.ini! Altså stien hvortil filen flyttes, er defineret fuldt ud!
Avatar billede prop46 Nybegynder
20. december 2003 - 13:50 #11
Smutter lige ned og ser LOTR ... hæhæ... men vender frygteligt tilbage!!
Avatar billede fangel Nybegynder
20. december 2003 - 14:26 #12
prop -> been there ;) - hæhæ

Morten
Avatar billede prop46 Nybegynder
21. december 2003 - 11:37 #13
Det virker .... dejligt :0)

Tak for hjælpen !

dea_pq --> vil du har lidt point !?
Avatar billede fangel Nybegynder
21. december 2003 - 12:34 #14
naa - behøves ik'...

Morten
Avatar billede prop46 Nybegynder
21. december 2003 - 14:30 #15
sukos --> hvis du stadig lytter.. omdøbning af filen går i ged når jeg bruger en variabel som det nye navn... Ingen fil-endelse og det er jo noget rod!

f.eks: $newname = $brugernavn;
Avatar billede sukos Juniormester
22. december 2003 - 09:51 #16
æhh, måske (utestet):

$filen = pathinfo($_FILES["singlefile"]["tmp_name"]);
//http://dk2.php.net/manual/en/function.pathinfo.php

$newname = $brugernavn .".". $filen["extension"];
Avatar billede prop46 Nybegynder
22. december 2003 - 19:30 #17
Prøver det... men tar til London nu.... Tak :0)
Avatar billede sukos Juniormester
23. december 2003 - 09:01 #18
Nåh, shit, det skal selvf. være
$filen = pathinfo($_FILES["singlefile"]["name"]);
og ikke tmp_name!!!!!!!
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