Avatar billede d.kryger Praktikant
25. november 2003 - 11:07 Der er 2 kommentarer og
1 løsning

Upload billede

Hej Eksperter.

Jeg ved godt at der er lavet 1000 spørgsmål med samme overskrift. Men dette er anderledes.

Jeg kan ikke finde ud af at uploade filer (billeder) til min webside. Min webside ligger ved web10.dk.

Jeg vil ikke mene der er noget galt med koden, da den er "hugget" her fra eksperten, og vedkommende skriver at det virker...

Der kommer følgende fejl:
Warning: move_uploaded_file(/home/web/--**--/upload/diverse/--**--.jpg): failed to open stream: No such file or directory in /home/web/--**--/test.php on line 116

Warning: move_uploaded_file(): Unable to move '/var/tmp/phprcRmVv' to '/home/web/--**--/upload/diverse/underskrift.jpg' in /home/web/--**--/test.php on line 116

Jeg har fundet følgende kode her på eksperten (http://www.eksperten.dk/spm/353093):

<?php

/* Funktion der åbner en forbindelse til en specifik database */

function aabn_forbindelse()
{

    $server = "--**--";
    $bruger = "--**--";
    $kodeord = "--**--";
    $database = "--**--";

    if (!mysql_connect("$server", "$bruger", "$kodeord")) {
        udskriv_fejl("Kunne ikke oprette en forbindelse til MySQL");
    }

    if (!mysql_select_db("$database")) {
        udskriv_fejl("Kunne ikke vælge databasen: $database");
    }
}

/* Funktion der klarer sql-forespørgsel der IKKE modtager data */

function sql_spoerg($query)
{

    $resultat = mysql_query($query);

    if (!$resultat) {
        udskriv_fejl("Kunne ikke udføre: <b>$query</b>");
    }
}

/* Funktion der lukker forbindelsen til databasen */

function luk_forbindelse()
{

    if (!mysql_close()) {
        udskriv_fejl("Kunne ikke lukke forbindelsen til MySQL");
    }
}

/* Funktion der udskriver fejl */

function udskriv_fejl($fejl)
{

    echo "<p>$fejl</p>";

    if ($mysql_fejl = mysql_error())
    {
        echo "<br />Fejlen er: <b>$mysql_fejl</b>";
    }

    exit;
}

/* Hovedfunktioen */

function upload_fil($fil, $overskrift, $navn, $email, $website, $beskrivelse, $underskrift, $max_stoerrelse = 100, $bibliotek = "default", $filtyper_tilladt = "default")
{

    if ($bibliotek == "default")
    {
        $bibliotek = "/upload";
    }

    if ($filtyper_tilladt == "default")
    {
        $filtyper_tilladt = array("image/bmp", "image/jpeg", "image/tiff", "image/png", "image/gif", "application/pdf", "application/zip", "application/arj", "application/x-zip-compressed", "application/octet-stream");
    }

    if ($fil["size"] > 0)
    {

        $filnavn = strtolower(ereg_replace(" ", "_", $fil["name"]));
        $fil_sti = $bibliotek . "/" . $filnavn;
        $fra = $fil["tmp_name"];
        $fil_stoerrelse = filesize($fra)/1024;
        $filtype = $fil["type"];
        $fejl = "0";

        if(!in_array($filtype, $filtyper_tilladt))
        {
            echo "<p>Filtypen '$filtype' er ikke tilladt. De tilladte filtyper er '" . implode("', '", $filtyper_tilladt) . "'. Filen $filnavn kan derfor ikke uploades!</p>";
            $fejl = "1";
        }
        if ($fil_stoerrelse > $max_stoerrelse)
        {
            echo "<p>Filen '$filnavn' er for stor og kan ikke uploades. Den fylder " . ceil($fil_stoerrelse) . " kb og der kan maximalt uploades $max_stoerrelse kb!</p>";
            $fejl = "1";
        }
        if ($fejl == "0")
        {
            if (file_exists(getcwd() . $fil_sti))
            {

                $pos = strrpos($filnavn, ".");
                $navn = substr($filnavn, 0, $pos);
                $type = substr($filnavn, $pos + 1, strlen($filnavn) - ($pos + 1));
                $i = 2;

                echo "<p>Filen '$filnavn' eksisterer allerede i '" . $bibliotek . "' og filen omdøbes derfor til ";

                while (file_exists(getcwd() . $fil_sti)) {
                    $filnavn = $navn . "(" . $i . ")." . $type;
                    $fil_sti = $bibliotek . "/" . $filnavn;
                    $i++;
                }
                echo "'$filnavn'</p>";
            }

            $til = $_SERVER["DOCUMENT_ROOT"] . $fil_sti;

            if (move_uploaded_file($fra, $til)) {
                echo "<p>Filen '$filnavn' er uploadet!</p>";
                aabn_forbindelse();
                sql_spoerg("INSERT INTO dintabel (overskrift, billedet, navn, email, website, beskrivelse, underskrift) VALUES ('$overskrift', '$fil_sti', '$navn', '$email', '$website', '$beskrivelse', '$underskrift')");
                luk_forbindelse();
            } else {
                echo "<p>Desværre, filen '$filnavn' kunne ikke uploades!</p>";
                return false;
            }
        }
    } else {
        echo "<p>Der er ikke vedhæftet nogen fil!</p>";
    }
}

?>

<html>

<head>
</head>

<body>

<div>

<?php
if ($_POST[sendknap] && $_POST[overskrift] && $_POST[navn] && $_POST[email] && $_POST[website] && $_POST[beskrivelse] && $_POST[underskrift]) {

    $fil = $_FILES["upfil"];
    $max_stoerrelse = 1000;
    $upload_mappe = "/upload/diverse";
    $filer_tilladt = array("image/pjpeg", "image/bmp", "image/jpeg", "image/tiff", "image/png", "image/gif", "image/jpg");

    upload_fil($fil, $overskrift, $navn, $email, $website, $beskrivelse, $underskrift, $max_stoerrelse, $upload_mappe, $filer_tilladt);

} else {
?>

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" enctype="multipart/form-data">
<fieldset>
  Overskrift<br />
  <input type="text" name="overskrift" value="<?php echo "$overskrift"; ?>" size="30" /><br />
  Navn<br />
  <input type="text" name="navn" value="<?php echo "$navn"; ?>" size="30" /><br />
  Email<br />
  <input type="text" name="email" value="<?php echo "$email"; ?>" size="30" /><br />
  Website<br />
  <input type="text" name="website" value="<?php echo "$website"; ?>" size="30" /><br />
  Beskrivelse<br />
  <input type="text" name="beskrivelse" value="<?php echo "$beskrivelse"; ?>" size="30" /><br />
  Underskrift<br />
  <input type="text" name="underskrift" value="<?php echo "$underskrift"; ?>" size="30" /><br />
  Vedhæft billede<br />
  <input type="file" name="upfil" size="30" /><br />
  <input type="submit" name="sendknap" value="Upload" />
</fieldset>
</form>

<?php
}
?>

</div>

</body>

</html>
Avatar billede sukos Juniormester
25. november 2003 - 11:21 #1
Hvad siger en
echo $til;
???
Umiddelbart er det jo fordi dir'et ikke eksisterer.
Avatar billede d.kryger Praktikant
25. november 2003 - 11:33 #2
Jep, det var derfor...
Læg et svar og du får point...
Avatar billede sukos Juniormester
25. november 2003 - 11:45 #3
: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