Avatar billede the_stalker Nybegynder
07. september 2001 - 15:12 Der er 11 kommentarer

Upload af billede

Jeg skal lave et script til at uploade et billede og noget tekst.

<Form Action=\"<?=$PHP_SELF?>\" Method=\"Post\">
    <P><Font Color=\"#FF0000\"><?=$error?></Font>
    <P>Forfatter:<Br>
    <Input Type=\"Text\" Name=\"forfatter\" Value=\"<?=$forfatter?>\">
    <P>Mulighed for 2 billeder:<Br>
    <Input Type=\"File\" Name=\"pic1\"><Br>
    <Input Type=\"File\" Name=\"pic2\"><Br>
    <H2>Dansk</H2>
    <P>Overskrift:<Br>
    <Input Type=\"Text\" Name=\"overskrift_dk\" Value=\"<?=$overskrift_dk?>\">
    <P>Nyheds-tekst:<Br>
    <Textarea Rows=\"5\" Cols=\"40\" Name=\"tekst_dk\"><?=$tekst_dk?></Textarea>
    <H2>Engelsk</H2>
    <P>Overskrift:<Br>
    <Input Type=\"Text\" Name=\"overskrift_uk\" Value=\"<?=$overskrift_uk?>\">
    <P>Nyheds-tekst:<Br>
    <Textarea Rows=\"5\" Cols=\"40\" Name=\"tekst_uk\"><?=$tekst_uk?></Textarea>
    <H2>Tysk</H2>
    <P>Overskrift:<Br>
    <Input Type=\"Text\" Name=\"overskrift_de\" Value=\"<?=$overskrift_de?>\">
    <P>Nyheds-tekst:<Br>
    <Textarea Rows=\"5\" Cols=\"40\" Name=\"tekst_de\"><?=$tekst_de?></Textarea>
    <P><Input Type=\"Submit\" Value=\"Indsæt nyhed\">
    </Form>

og koden til at uploade/sætte i db\'en

if ($REQUEST_METHOD == \'POST\') {
    include(SQL-BRUGER+PASS+DB);
    $result=mysql_query(\"SELECT * FROM Nyhed WHERE overskrift_dk=\'$overskrift_dk\'\");
    if (mysql_num_rows($result) != 0)
        $error=\"Der eksisterer allerede en nyhed med den danske overskrift\";
    else {   
        if ($pic1 != \'\') {
            $bits=explode(\".\",$\'pic1\');
            $ext=$bits[count($bits) - 1];
   
                $billede1=md5(uniqid(\'\')).\".\".$ext;
        $place=\"/net/users/a99/999/noget/af/en/sti/til/billede/$billede1\";
        copy($pic1, \"$place\");
        }
    mysql_query(\"INSERT INTO Nyhed(forfatter, billede1, dato, tekst_dk, tekst_uk, tekst_de, overskrift_dk, overskrift_uk, overskrift_de) VALUES(\'$forfatter\', \'$billede1\', CURRENT_TIMESTAMP, \'$tekst_dk\', \'$tekst_uk\', \'$tekst_de\', \'$overskrift_dk\', \'$overskrift_uk\', \'$overskrift_de\')\") or die(mysql_error());

Hjælp :-)
Avatar billede coderdk Praktikant
07. september 2001 - 15:15 #1
<Form Action=\"<?=$PHP_SELF?>\" Method=\"Post\" ENCTYPE=\"multipart/form-data>
Avatar billede coderdk Praktikant
07. september 2001 - 15:15 #2
erh:

<Form Action=\"<?=$PHP_SELF?>\" Method=\"Post\" ENCTYPE=\"multipart/form-data\">
Avatar billede myplacedk Nybegynder
07. september 2001 - 15:17 #3
Hjælp? Med hvad?
Avatar billede the_stalker Nybegynder
07. september 2001 - 15:27 #4
Det virker ikke...

Den sender ingen variabler videre, og hvis jeg fjerner ENCTYPE=\"multipart/form-data melder den bare fejl når den skal have billedet
Avatar billede wizprod.com Nybegynder
07. september 2001 - 15:38 #5
Prøv at se om den faktisk kommer ind i løkken!
Avatar billede coderdk Praktikant
07. september 2001 - 15:46 #6
  if ($pic1 != \'\') {

bør være

  if (is_uploaded_file($pic1)) {

i stedet for copy så lav:

  move_uploaded_file($pic1,$place)
Avatar billede webmasterdk Praktikant
07. september 2001 - 15:51 #7
hvis du laver en move_uploade_file skal du huske at slette den bagefter!
det gør du med unlink($pic1);

www.fotx.net/WebmasterDK
Avatar billede myplacedk Nybegynder
07. september 2001 - 16:17 #8
webmasterdk >> A hvad for noget? Når man FLYTTER en fil, er originalen væk. Desuden slettes uploadede filer automatisk fra temp-mappen, når scriptet afsluttes.
Avatar billede the_stalker Nybegynder
07. september 2001 - 16:20 #9
Hvad skulle fordelen være ved at move filen fremfor copy ??
Avatar billede myplacedk Nybegynder
07. september 2001 - 17:22 #10
the_stalker >> Selve det at flytte i stedet for at kopiere er mere effektivt, når du alligevel kun skal bruge én udgave. Hvis \"target\" ligger på samme filsystem (partition) som originalen skal der kun ændres få bytes for at flytte den, men med en kopi skal hele filen læses og skrives.
Desuden er der situationer hvor copy() slet ikke kan bruges, men move_uploaded_file() kan. Noget safemode-sjov. Det er vist derfor funktionen overhovedet er lavet.
Avatar billede webmasterdk Praktikant
08. september 2001 - 21:28 #11
MyPlacedk >> Doooh, det er bare mig der lavede kage i den, sorry, kom lige fra netparty, og havde ikke sovet endnu! :)
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