Avatar billede Slettet bruger
01. april 2003 - 11:15 Der er 6 kommentarer og
1 løsning

Upload + sti i db

Jeg har følgende upload-script der virker helt fint:

<?php
$HTTP_GET_VARS = $_GET;
$HTTP_POST_VARS = $_POST;
$HTTP_FILES_VARS = $_FILES;
$HTTP_SERVER_VARS = $_SERVER;

extract($_GET);
extract($_POST);
extract($_FILES);
extract($_SERVER);

if (isset($HTTP_POST_FILES['upfile'])) {

    if (isset($HTTP_POST_FILES['upfile']['name']) && $HTTP_POST_FILES['upfile']['name'] !="") {

        if(is_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'])) {

        $dist = $HTTP_SERVER_VARS['DOCUMENT_ROOT'] ."/billeder/";

        move_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'], $dist . $HTTP_POST_FILES['upfile']['name']);
        $besked = $HTTP_POST_FILES['upfile']['name'] ." er blevet uploadet med succes!";
    }else{
        $besked = "Sorry, men upload skete IKKE!";
    }

}else{

$besked = "Du glemte at v&aelig;lge en fil!";
    }

}else{

$besked = "V&aelig;lg en fil til upload:";
}
?><html><head><title>Upload fil</title>
</head>
<body>
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<center>
<table><tr>
<td><?php echo $besked; ?><br>
<input name="upfile" type="file" size="32"><p>
<center><input type="submit" value="Upload" class="submit"></center></td>

</tr></table>

</center>
</form>
</body></html>

Jeg vil nu gerne ha implementeret at man kan skrive en tekst til billedet samt at stien til billedet bliver gemt i en mysql DB. hvordan gør jeg det?????
Avatar billede Slettet bruger
01. april 2003 - 11:41 #1
jeg har klaret det meste, men det jeg mangler er hvordan jeg får navnet på billed-filen til at stå som sti i DB. eks. "billede.jpg".

kan man lave noget lignede. <input type="hidden" value="navnetpåbillede">.
Så value automatisk bliver navnet på billedet....
Avatar billede schaefner Juniormester
01. april 2003 - 12:43 #2
<?php
$HTTP_GET_VARS = $_GET;
$HTTP_POST_VARS = $_POST;
$HTTP_FILES_VARS = $_FILES;
$HTTP_SERVER_VARS = $_SERVER;
extract($_GET);
extract($_POST);
extract($_FILES);
extract($_SERVER);

if (empty($_FILES['upfile']['name'])) {
    if(is_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'])) {
        $dist = $HTTP_SERVER_VARS['DOCUMENT_ROOT']."/billeder/";
        $billede = $HTTP_POST_FILES['upfile']['name'];
        $kommentar = $_POST['kommentar'];
        mysql_connect("localhost","brugernavn","kodeord");
        mysql_select_db("database");
        mysql_query("INSERT INTO billeder (kommentar,billede) VALUES ('$kommentar','$billede')") or die(mysql_error());

        move_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'], $dist.$HTTP_POST_FILES['upfile']['name']);
        $besked = "$billede er blevet uploadet med succes!";
    }else{
        $besked = "Sorry, men upload skete IKKE!";
    }
}else{
    $besked = "V&aelig;lg en fil til upload:";
}
?>
<html><head><title>Upload fil</title>
</head>
<body>
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<center>
<table><tr>
<td><?php echo $besked; ?><br>
<textarea name="kommentar" rows="5" style="width: 260px"></textarea><br>
<input name="upfile" type="file" size="32" style="width: 260px"><p>
<center><input type="submit" value="Upload" class="submit"></center></td>

</tr></table>

</center>
</form>
</body></html>

Så skal du ha' en tabel i din database med navnet billeder og med felterne kommentar og billede. Vil da lige tilføje at det er utestet :)
Avatar billede Slettet bruger
01. april 2003 - 13:21 #3
virker ikke, desværre
Avatar billede schaefner Juniormester
01. april 2003 - 14:25 #4
Får du nogen fejl?
Avatar billede schaefner Juniormester
01. april 2003 - 14:26 #5
Hov, har lavet en lille fejl. Prøv:

<?php
$HTTP_GET_VARS = $_GET;
$HTTP_POST_VARS = $_POST;
$HTTP_FILES_VARS = $_FILES;
$HTTP_SERVER_VARS = $_SERVER;
extract($_GET);
extract($_POST);
extract($_FILES);
extract($_SERVER);

if (!empty($_FILES['upfile']['name'])) {
    if(is_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'])) {
        $dist = $HTTP_SERVER_VARS['DOCUMENT_ROOT']."/billeder/";
        $billede = $HTTP_POST_FILES['upfile']['name'];
        $kommentar = $_POST['kommentar'];
        mysql_connect("localhost","brugernavn","kodeord");
        mysql_select_db("database");
        mysql_query("INSERT INTO billeder (kommentar,billede) VALUES ('$kommentar','$billede')") or die(mysql_error());

        move_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'], $dist.$HTTP_POST_FILES['upfile']['name']);
        $besked = "$billede er blevet uploadet med succes!";
    }else{
        $besked = "Sorry, men upload skete IKKE!";
    }
}else{
    $besked = "V&aelig;lg en fil til upload:";
}
?>
<html><head><title>Upload fil</title>
</head>
<body>
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<center>
<table><tr>
<td><?php echo $besked; ?><br>
<textarea name="kommentar" rows="5" style="width: 260px"></textarea><br>
<input name="upfile" type="file" size="32" style="width: 260px"><p>
<center><input type="submit" value="Upload" class="submit"></center></td>

</tr></table>

</center>
</form>
</body></html>
Avatar billede Slettet bruger
01. april 2003 - 16:03 #6
det var bedre. nu virker det. Tak læg et svar
Avatar billede schaefner Juniormester
01. april 2003 - 16:20 #7
Var så lidt :)
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

IT-JOB

KMD A/S

Project Manager

Politiets Efterretningstjeneste

Teknisk IT-projektleder, der skaber fremdrift i PET

Capgemini Danmark A/S

AI/Data Engineer

Supporters A/S

Support specialist

BEC Financial Technologies

Senior Platform/System Engineer