Avatar billede squazz Novice
15. september 2010 - 16:22 Der er 1 kommentar og
1 løsning

Problemer med simpel upload

Hej eksperter

Jeg ved, at der er flere gange dette er blevet besvaret herinde, men, jeg syntes simpelthen ikke jeg kan få det til at fungere her hos mig. Det skal sige at jeg bruger suwftown som webhotel, at jeg har en "gammel" version af PHP (kan ikke helt huske hvilken, men ikke PHP 5), og at jeg har PHP safemode on.

Mit problem er, at jeg skal have uploadet et dokument, billede, anything, til en mappe på min server. Jeg har prøvet at bruge både funktionen move_uploaded_file & copy, og det lader til at der ikke er nogen af funktionerne, som vil virke.

Jeg har prøvet at lave checks (hvilket også kan ses i koden), hvor jeg undersøge hvilken sti filen smides ind i, hvad den fulde stil (med filnavn) kommer til at hedde, og om der er fejl. Men, selvom at alt dette er korrekt, er det som om at filerne jeg uploader ikke vil gemmes i den mappe der er lavet til formålet.

Koden er opgivet her nedenunder, jeg håber lidt på en dialog, da jeg ikke kan finde anden vej ud længere :( (Hvis det ønskes kan koden blive lagt op på pastebin)

<div id="uploader"> 
    <h3>Dokument upload</h3> 
 
    <fieldset> 
        <legend>Vælg filen som skal uploades</legend> 
        <form method="post" action="" enctype="multipart/form-data"> 
            <label for="name">Select file</label><br> 
            <input type="file" name="file"><br>
            <input type="submit" name="submit" value="Start upload"> 
        </form> 
    </fieldset>                                 
</div><?php

$uploadFolder = "media/docs/";

if(isset($_FILES['file'])) 
{
    $target = $uploadFolder . basename($_FILES['file']['name']);
   
    if(move_uploaded_file($_FILES['file']['tmp_name'], $target))
    {
        echo "The file ".  basename( $_FILES['file']['name']). " has been uploaded";
    }
    elseif(copy($_FILES['file']['tmp_name'], $target))
    {
        echo "The file ".  basename( $_FILES['file']['name']). " has been uploaded";
    }
    else
    {
        echo "You failed bro!";
    }
   
    echo "<br>".$_FILES[file][error];
    echo "<br>".$_FILES[file][tmp_name];
    echo "<br>".$_FILES[file][name];
    echo "<br>".$target;
    unset($_FILES['file']);
}
?>
Avatar billede aners Nybegynder
15. september 2010 - 17:24 #1
Din form og PHP fejler ingenting. Problemet er permissions på $target.

Log på webhotellet med ftp og chmod til 777 på både 'media' og 'docs'.

Når du ser dét virker, kan du begrænse yderligere.
Avatar billede squazz Novice
15. september 2010 - 22:32 #2
Tusind tak, det afhjalp problemet :D Utroligt jeg ikke selv lige testede det af først xD
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