Avatar billede ravsted-dk Nybegynder
10. august 2005 - 03:05 Der er 20 kommentarer og
1 løsning

Upload script virker ikke

Jeg har denne kode

<?
    if ( !empty( $_FILES['fil'] ) && is_uploaded_file( $_FILES['fil']['tmp_name'] ) )
    {
        if ( !file_exists( $_FILES['fil']['name'] ) )
        {
            if ( $_FILES['fil']['size'] <= 55000 )
            {
                move_uploaded_file( $_FILES['fil']['tmp_name'], $_FILES['fil']['name'] );
                echo "Blev uploadet <a href=\"".$_FILES["fil"]["name"]."\" target=\"_blank\">her til</a>. <a href=\"upload.php\">Upload igen her</a>";
            }
            else
            {
                echo "Filen må maksimalt være 55 KB!";
            }
        }
        else
        {
            echo $_FILES['fil']['name'] . " eksisterer allerede.";
        }
    }
    else
    {
        echo '<form method="POST" enctype="multipart/form-data">';
        echo '<p>Fil:<br><input type="file" name="fil"><p>';
        echo '<p><input type="submit" value="Upload" name="submit"></p>';
        echo 'Billedet må maks fylde 55 kb.</form>';
        echo 'Husk adressen til billedet. http://Mit domæne/og så navnet på din fil' . "<br />";
        echo 'Der må ikke være mellerum i navnet på din fil og du må ikke bruge Å Æ Ø.';           
        echo 'Virker det ikke første gang så prøv igen..';

Men jeg prøver at uploade det, bliver filen lagt i PHP mappen og ikke i upload mappen. Hvad gør jeg forkert
Avatar billede 7th Praktikant
10. august 2005 - 06:58 #1
Du har ikke angivet din upload mappe noget sted i scriptet :)

move_uploaded_file( $_FILES['fil']['tmp_name'], $_FILES['fil']['name'] );

skal være noget ala

move_uploaded_file( $_FILES['fil']['tmp_name'], 'din_upload_mappe/' . $_FILES['fil']['name'] );
Avatar billede ravsted-dk Nybegynder
10. august 2005 - 07:26 #2
Er det så hele stien jeg skal skrive
Avatar billede Slettet bruger
10. august 2005 - 08:48 #3
Det bør virke selvom han ikke har angivet en mappe, da filen så vil blive uploadet til den folder, hvori scriptet er placeret.
Avatar billede Slettet bruger
10. august 2005 - 08:52 #4
<?
$config['sti'] = $_FILES['fil']['name'];

if(!empty($_FILES['fil']['name'])&& is_uploaded_file($_FILES['fil']['tmp_name']) )
    {
    if(!file_exists($_FILES['fil']['name']))
        {
        if($_FILES['fil']['size'] <= 55000)
            {
            if(move_uploaded_file($_FILES['fil']['tmp_name'], $config['sti'])
                {
                echo "Blev uploadet <a href=\"". $config['sti'] ."\" target=\"_blank\">her til</a>. <a href=\"upload.php\">Upload igen her</a>";
                }
            else
                {
                echo "Filen blev ikke uploadet af en ukendt årsag";
                }
            }
        else
            {
            echo "Filen må maksimalt være 55 KB!";
            }
        }
    else
        {
        echo $_FILES['fil']['name'] . " eksisterer allerede.";
        }
    }
else
    {
    echo '<form method="POST" action=\"\" enctype="multipart/form-data">';
    echo '<p>Fil:<br><input type="file" name="fil"><p>';
    echo '<p><input type="submit" value="Upload" name="submit"></p>';
    echo 'Billedet må maks fylde 55 kb.</form>';
    echo 'Husk adressen til billedet. http://Mit domæne/og så navnet på din fil' . "<br />";
    echo 'Der må ikke være mellerum i navnet på din fil og du må ikke bruge Å Æ Ø.';         
    echo 'Virker det ikke første gang så prøv igen..';
    }
?>
Avatar billede Slettet bruger
10. august 2005 - 08:54 #5
Det må du undskylde - Jeg tror den er der nu:

<?
$config['sti'] = $_FILES['fil']['name'];
$config['max_stoerrelse'] = 55; // Kilobytes


if(!empty($_FILES['fil']['name'])&& is_uploaded_file($_FILES['fil']['tmp_name']) )
    {
    if(!file_exists($config['sti']))
        {
        if($_FILES['fil']['size'] <= ($config['max_stoerrelse'] * 1024))
            {
            if(move_uploaded_file($_FILES['fil']['tmp_name'], $config['sti'])
                {
                echo "Blev uploadet <a href=\"". $config['sti'] ."\" target=\"_blank\">her til</a>. <a href=\"upload.php\">Upload igen her</a>";
                }
            else
                {
                echo "Filen blev ikke uploadet af en ukendt årsag";
                }
            }
        else
            {
            echo "Filen må maksimalt være 55 KB!";
            }
        }
    else
        {
        echo $_FILES['fil']['name'] . " eksisterer allerede.";
        }
    }
else
    {
    echo '<form method="POST" action=\"\" enctype="multipart/form-data">';
    echo '<p>Fil:<br><input type="file" name="fil"><p>';
    echo '<p><input type="submit" value="Upload" name="submit"></p>';
    echo 'Billedet må maks fylde 55 kb.</form>';
    echo 'Husk adressen til billedet. http://Mit domæne/og så navnet på din fil' . "<br />";
    echo 'Der må ikke være mellerum i navnet på din fil og du må ikke bruge Å Æ Ø.';         
    echo 'Virker det ikke første gang så prøv igen..';
    }
?>


Så kan du ændre de variabler informationer i toppen af siden.
Avatar billede ravsted-dk Nybegynder
10. august 2005 - 09:35 #6
Det virker ikke nogen af dem
Avatar billede Slettet bruger
10. august 2005 - 15:11 #7
Har du husket at ændre stien øverst i dokumentet.. du må lige komme med noget feedback på rettelserne jo.
Avatar billede ravsted-dk Nybegynder
10. august 2005 - 15:18 #8
jeg har rettet stien
Avatar billede Slettet bruger
10. august 2005 - 15:19 #9
Hvad sker der så? Hvor uploader du den til? Er du sikker på at du kører den rettede version?
Avatar billede ravsted-dk Nybegynder
10. august 2005 - 15:51 #10
ja, det ligger dem stadigvæk op i mappen C:\apache\PHP\
Avatar billede ravsted-dk Nybegynder
10. august 2005 - 15:51 #11
kan det ikke være en fejl i PHP.ini
Avatar billede Slettet bruger
10. august 2005 - 16:34 #12
Det er i hvert fald ikke en fejl i scriptet - den bør slet ikke have adgang til c:\apache\PHP - men derimod til c:\apache\htdocs\
Avatar billede 7th Praktikant
10. august 2005 - 17:22 #13
Hvis scriptet befinder sig i c:\apache\htdocs\ og uploadmappen befinder sig i c:\apache\htdocs\upload\ så

relativ sti
move_uploaded_file( $_FILES['fil']['tmp_name'], 'upload/' . $_FILES['fil']['name'] );

eller

absolut sti
move_uploaded_file( $_FILES['fil']['tmp_name'], $_SERVER['DOCUMENT_ROOT'] . '/upload/' . $_FILES['fil']['name'] );
Avatar billede Slettet bruger
10. august 2005 - 17:24 #14
Men ret det nu i mit script, da det er langt nemmere at tjekke og genbruge variablen.
Avatar billede ravsted-dk Nybegynder
10. august 2005 - 18:44 #15
Parse error: parse error in c:\apache\htdocs\upload.php on line 16
Avatar billede Slettet bruger
10. august 2005 - 19:21 #16
Den her virker:

<?
$config['sti'] = $_FILES['fil']['name'];
$config['max_stoerrelse'] = 55; // Kilobytes


if(!empty($_FILES['fil']['name'])&& is_uploaded_file($_FILES['fil']['tmp_name']) )
    {
    if(!file_exists($config['sti']))
        {
        if($_FILES['fil']['size'] <= ($config['max_stoerrelse'] * 1024))
            {
            if(move_uploaded_file($_FILES['fil']['tmp_name'], $config['sti']))
                {
                echo "Blev uploadet <a href=\"". $config['sti'] ."\" target=\"_blank\">her til</a>. <a href=\"upload.php\">Upload igen her</a>";
                }
            else
                {
                echo "Filen blev ikke uploadet af en ukendt årsag";
                }
            }
        else
            {
            echo "Filen må maksimalt være 55 KB!";
            }
        }
    else
        {
        echo $_FILES['fil']['name'] . " eksisterer allerede.";
        }
    }
else
    {
    echo '<form method="POST" action=\"\" enctype="multipart/form-data">';
    echo '<p>Fil:<br><input type="file" name="fil"><p>';
    echo '<p><input type="submit" value="Upload" name="submit"></p>';
    echo 'Billedet må maks fylde 55 kb.</form>';
    echo 'Husk adressen til billedet. http://Mit domæne/og så navnet på din fil' . "<br />";
    echo 'Der må ikke være mellerum i navnet på din fil og du må ikke bruge Å Æ Ø.';       
    echo 'Virker det ikke første gang så prøv igen..';
    }
?>
Avatar billede ravsted-dk Nybegynder
10. august 2005 - 22:18 #17
You don't have permission to access /"/" on this server.
Avatar billede 7th Praktikant
10. august 2005 - 23:58 #18
<?php
// c:\apache\htdocs + \sti_til_upload_mappe\
$config['path'] = $_SERVER['DOCUMENT_ROOT'] . '/sti_til_upload_mappe/';
$config['size'] = 100;

if (!empty($_FILES['myfile']['tmp_name']) && is_uploaded_file($_FILES['myfile']['tmp_name']))
{
    if ($_FILES['myfile']['size'] <= $config['size'] * 1024)
    {
        move_uploaded_file($_FILES['myfile']['tmp_name'] , $config['path'] . $_FILES['myfile']['name']) or die('Filen blev ikke uploaded af en ukendt årsag!');

        echo $_FILES['myfile']['name'] . ' blev uploaded!';
    }

        else
        {
            echo 'Filen må maksimalt være ' . $config['size'] . ' KB!';
        }
}

    else
    {
?>

<form action="<?= $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
<div><input name="myfile" type="file" value=""></div>
<div><input type="submit"></div>
</form>

<?php
    }
?>
Avatar billede ravsted-dk Nybegynder
24. november 2006 - 22:37 #19
Kommer i lige med et svar
Avatar billede Slettet bruger
25. november 2006 - 10:40 #20
Ja tak.
Avatar billede Slettet bruger
18. februar 2007 - 22:52 #21
Tak for points ! ;o)
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