Avatar billede oliverg Nybegynder
16. august 2003 - 11:25 Der er 10 kommentarer og
1 løsning

upload med mysql?

Hej jeg har denne kode til at uploade filer med. Kan man lave sådan at den også opretter nået i min mysql db med fil navnet, størrelse o.s.v??

<?php

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

//til brug for info om filtyper
$str1 = $_FILES['upfile']['name'];
$str2 = $_FILES['upfile']['size'];
$str3 = $_FILES['upfile']['type'];

//Filer som kan uploades
$filetyper = array("image/gif", "image/jpeg", "image/pjpeg", "image/png", "image/bmp");

//stien, hvortil filerne skal placeres   
$dist = "./uploads/";

//Tjek om der er en fil, samt om den overholder filtypen som kan uploades
    if (isset($_FILES['upfile']['name']) && $_FILES['upfile']['name'] == "") {
echo"Ingen fil valgt! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a></td>\n";
echo"</tr></table>\n";
echo"</center>\n";
echo"</body></html>";
exit;

}elseif (!in_array($_FILES['upfile']['type'], $filetyper)) {
echo "Filen kan ikke uploades.<br>\n<b>$str3</b> er ikke tilladt for upload! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a></td>\n";
echo"</tr></table>\n";
echo"</center>\n";
echo"</body></html>";
exit;
    }

echo"&Oslash;nsket fil til upload:<p>\n";

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

//se  http://dk.php.net/manual/en/function.is-uploaded-file.php  for "is_uploaded_file"       
        if(is_uploaded_file($_FILES['upfile']['tmp_name'])) {

//Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server :O)
move_uploaded_file($_FILES['upfile']['tmp_name'], $dist . $_FILES['upfile']['name']);
        }else{
        echo"Sorry, men upload skete IKKE!";
    }


echo "<b>Navn:</b> $str1, <b>st&oslash;rrelse:</b> $str2 bytes, <b>filtype:</b> $str3<br>\n";
echo"</p>";
    }
}else{

echo "Du skal v&aelig;lge en fil til upload. <a href=\"singleupload.html\">singleupload.html</a>";
}
?>
Avatar billede sukos Juniormester
16. august 2003 - 11:38 #1
I stedet for echo, kører du din query
Avatar billede oliverg Nybegynder
16. august 2003 - 12:00 #2
hvad mener du??
Avatar billede oliverg Nybegynder
16. august 2003 - 12:00 #3
så den her:

hvordan uploader jeg et billede samtidig med at den sender data til MySQL ???
Avatar billede sukos Juniormester
20. august 2003 - 10:25 #4
Skulle kunne gøres så'n:
(husk bare at connecte til DB'en)

move_uploaded_file($_FILES['upfile']['tmp_name'], $dist . $_FILES['upfile']['name']);
mysql_query("INSERT INTO `db_navn` (`navn`, `str`, `filtype`, `ip`) VALUES (". $str1 .", ". $str2 .", ". $str3 .", ". $_SERVER["REMOTE_ADDR"] .")") or die (mysql_error());

        }else{
        echo"Sorry, men upload skete IKKE!";
    }
Avatar billede oliverg Nybegynder
20. august 2003 - 19:54 #5
Ønsket fil til upload:
You have an error in your SQL syntax near '.105.64)' at line 1

kode:

<?php
include("db.php");
if (isset($_FILES['upfile'])) {

//til brug for info om filtyper
$str1 = $_FILES['upfile']['name'];
$str2 = $_FILES['upfile']['size'];
$str3 = $_FILES['upfile']['type'];

//Filer som kan uploades
$filetyper = array("image/gif", "image/jpeg", "image/pjpeg", "image/png", "image/bmp");

//stien, hvortil filerne skal placeres   
$dist = "./uploads/";

//Tjek om der er en fil, samt om den overholder filtypen som kan uploades
    if (isset($_FILES['upfile']['name']) && $_FILES['upfile']['name'] == "") {
echo"Ingen fil valgt! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a></td>\n";
echo"</tr></table>\n";
echo"</center>\n";
echo"</body></html>";
exit;

}elseif (!in_array($_FILES['upfile']['type'], $filetyper)) {
echo "Filen kan ikke uploades.<br>\n<b>$str3</b> er ikke tilladt for upload! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a></td>\n";
echo"</tr></table>\n";
echo"</center>\n";
echo"</body></html>";
exit;
    }

echo"&Oslash;nsket fil til upload:<p>\n";

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

//se  http://dk.php.net/manual/en/function.is-uploaded-file.php  for "is_uploaded_file"       
        if(is_uploaded_file($_FILES['upfile']['tmp_name'])) {

//Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server :O)
move_uploaded_file($_FILES['upfile']['tmp_name'], $dist . $_FILES['upfile']['name']);
mysql_query("INSERT INTO `uploads` (`navn`, `om`, `type`, `ip`) VALUES (". $str1 .", ". $str2 .", ". $str3 .", ". $_SERVER["REMOTE_ADDR"] .")") or die (mysql_error());

        }else{
        echo"Sorry, men upload skete IKKE!";
    }


echo "<b>Navn:</b> $str1, <b>st&oslash;rrelse:</b> $str2 bytes, <b>filtype:</b> $str3<br>\n";
echo"</p>";
    }
}else{

echo "Du skal v&aelig;lge en fil til upload. <a href=\"singleupload.html\">singleupload.html</a>";
}
?>

mysql:

CREATE TABLE uploads (
  id int(11) NOT NULL auto_increment,
  navn text NOT NULL,
  om text NOT NULL,
  type text NOT NULL,
  kat text NOT NULL,
  filnavn text NOT NULL,
  tal text NOT NULL,
  ip text NOT NULL,
  god varchar(61) NOT NULL default 'nej',
  PRIMARY KEY  (id)
) TYPE=MyISAM;


hvad kan det være??
Avatar billede sukos Juniormester
20. august 2003 - 19:57 #6
Mig som plejer at bruge en function til addslashes() ved input:
Prøv så'n her:

mysql_query("INSERT INTO `db_navn` (`navn`, `str`, `filtype`, `ip`) VALUES ('". $str1 ."', '". $str2 ."', '". $str3 ."', '". $_SERVER["REMOTE_ADDR"] .'")") or die (mysql_error());
Avatar billede sukos Juniormester
20. august 2003 - 19:58 #7
Altså, manglenede ' om hver værdi som skal lægges ind!
Avatar billede oliverg Nybegynder
20. august 2003 - 20:08 #8
Parse error: parse error, unexpected $ in /home/web/gb1184/ok-griner/system/test.php on line 66

line66 det slutter der!
Avatar billede oliverg Nybegynder
20. august 2003 - 20:13 #9
fandt selv fejlen men tak!
Avatar billede oliverg Nybegynder
20. august 2003 - 20:18 #10
lav lige et svar!
Avatar billede sukos Juniormester
22. august 2003 - 15:37 #11
ok du
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