Avatar billede zybe Nybegynder
10. marts 2005 - 08:01 Der er 4 kommentarer og
1 løsning

Fejl i upload script?!

Hej.

Er igang med at prøve at lave mit eget lille simple cms system. Skal selvfølgelig have lavet en upload funktion og har ud fra en bog får lavet følgende: http://www.gfxonline.dk/cms/admin/upload.php

Der giver en fejl i lilje 24 og aner ikke hvad der er galt. Det skal siges det er første gang jeg roder med php så det kan meget vel være en simpel lille fejl.

Koden er som følger:
--------------------------------------------------------------

<?php require_once('../Connections/cms.php');
    mysql_select_db($database_cms, $cms);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Upload billede</title>
</head>

<body>
<?php

if (isset($_FILES['filnavn'])) { print "Fil, der er blevet overført: {$_FILES['filnavn']['name']}<p>\n";
       
$query = "INSERT INTO billeder SET billednavn='".$_FILES['filnavn']['name'] ."'";

    $Result1 = mysql_query(@query, $cms) or die(mysql_error());
}

{
$tempfile = $_FILES['filnavn']['tmp_name'];
$destination = "../billeder/{$_FILES['filnavn']['name']} ";
copy($tempfile, $destination);

}

?>

<form action="upload.php" method="post" enctype="multipart/form-data" name="form1" id="">
  <p>Fil der skal overf&oslash;res:
  <input name="filnavn" type="file" id="filnavn">
</p>
  <br>
  <input type="submit" name="Submit" value="Upload">
</form>
</body>
</html>

-------------------------------------------------------------
Avatar billede dugi Nybegynder
10. marts 2005 - 08:29 #1
Tror du skal bruge "move_uploaded_file" i steden for:

$tempfile = $_FILES['filnavn']['tmp_name'];
$destination = "../billeder/{$_FILES['filnavn']['name']} ";
move_uploaded_file($tempfile, $destination);


Udklip fra PHP manualen:

move_uploaded_file
(PHP 4 >= 4.0.3)

move_uploaded_file -- Moves an uploaded file to a new location
Description
bool move_uploaded_file ( string filename, string destination)


This function checks to ensure that the file designated by filename is a valid upload file (meaning that it was uploaded via PHP's HTTP POST upload mechanism). If the file is valid, it will be moved to the filename given by destination.

If filename is not a valid upload file, then no action will occur, and move_uploaded_file() will return FALSE.

If filename is a valid upload file, but cannot be moved for some reason, no action will occur, and move_uploaded_file() will return FALSE. Additionally, a warning will be issued.

This sort of check is especially important if there is any chance that anything done with uploaded files could reveal their contents to the user, or even to other users on the same system.
Avatar billede zybe Nybegynder
10. marts 2005 - 08:35 #2
Det hjalp lidt... der kommer ikke nogen fejl direkte på siden, men når jeg prøver at uploade et billede for jeg denne fejl: 

------------------------------------------------------------------
Fil, der er blevet overført: 16514859_Big.jpg
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'query' at line 1
-------------------------------------------------------------------

Kan du hjælpe med det også. Der bliver ikke uploaded nogen fil til serveren kan jeg se...
Avatar billede dingkee Nybegynder
10. marts 2005 - 09:27 #3
Prøv med:

    $Result1 = mysql_query($query, $cms) or die(mysql_error());
Avatar billede dingkee Nybegynder
10. marts 2005 - 09:28 #4
Skulle have været et svar :)
Avatar billede zybe Nybegynder
10. marts 2005 - 09:29 #5
tak dingkee.... Du får 70 point...

Duggi>> Hvis du laver et svar kan du få 30point?
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