Avatar billede prodigy01 Nybegynder
08. maj 2008 - 18:39 Der er 7 kommentarer og
1 løsning

Lidt hjælp til Upload system.

Hej .
Har et upload system, som virker fuldt optimalt.
Men der er dog en lille ting jeg gerne vil ha lavet på den.
Det er, at jeg vil gerne have Billedets navn går ind i databasen under det´s eget..
Og at destinations mappen ikke følger med.
altså f.eks. inde under $image i databasen, der skal der kun stå f.eks picture.jpg
og destinations mappen skal ikke stå nogen steder.
Lige nu står der nemlig "destinationsmappen/picture.gif" under $image.

Håber i forstår hvad jeg mener.

Her er koden:

<?

include("connect.php");

//
// Start: Upload image
//

$ok=0;
if($_FILES["image"]["name"]) {
$size = $_FILES["image"]["size"] / 1024;
if($size > 0 && $size < 1023) {
$fra = $_FILES["image"]["tmp_name"];
$fra2 = $_FILES["image"]["name"];
$tilp = $_FILES["image"]["type"];
$tiltype = strstr($_FILES["image"]["type"],"/");
$tiltype = substr($tiltype,1);
if ($tiltype == "bmp" || $tiltype == "gif" || $tiltype == "pjpeg" || $tiltype == "x-png") {
$tiltype = str_replace("x-png","png",$tiltype);
$tiltype = str_replace("pjpeg","jpg",$tiltype);
$kategori = $_POST[kategori];
$til = "grafik/billeder/$kategori/".time().rand(0000,9979)."-".$fra2;
if(function_exists("move_uploaded_file")) {
move_uploaded_file($fra, $til);
$img = "$til";
$ok=1;
} else {
copy($fra, $til);
$img = "$til";
$ok=1;
}
}else {$error='Forkert fil-format';}
}else {$error='Fil over 1 MB';}
}else {$error='Ingen fil fundet';}

//
// End: Upload image
//

if ($ok) {
$id = $row["id"];
$navn = $row["navn"];
$image = $row["image"];
$kategori = $row["navn"];
$ip = $_SERVER[REMOTE_ADDR];
mysql_query("INSERT INTO billeder (navn, image, kategori, ip) VALUES ('$_POST[navn]', '$img', '$_POST[kategori]', '$ip')");
mysql_close();
echo "Billedet er tilføjet til galleriet";
}
else {
echo "Kunne ikke tilføjes, pga.:<br>".$error;
}
?>
Avatar billede jakobdo Ekspert
08. maj 2008 - 21:55 #1
Ret:
'$img'
i din sql til:
'basename($img)',
Avatar billede prodigy01 Nybegynder
08. maj 2008 - 22:03 #2
Den gemmer den godt nok i den rette mappe nu.
Men navnet bliver basename(grafik/billeder/Naughty/12102768026028-DSC00097.JPG)
og den skal bare være det sidste der.
12102768026028-DSC00097.JPG
Avatar billede jakobdo Ekspert
08. maj 2008 - 22:26 #3
Prøv lige:

mysql_query("INSERT INTO billeder (navn, image, kategori, ip) VALUES ('$_POST[navn]', '".basename($img)."', '$_POST[kategori]', '$ip')");
Avatar billede prodigy01 Nybegynder
08. maj 2008 - 22:39 #4
Tusind tak, det virker nu.
Men, er der meget jeg skal ændre, hvis jeg vil have at den tilføjer under gfx, og ikke under image.. ?
Avatar billede prodigy01 Nybegynder
08. maj 2008 - 22:42 #5
Smid svar forresten =)
Avatar billede jakobdo Ekspert
09. maj 2008 - 06:57 #6
Du får et svar.

Og ang. dit sidste spørgsmål.
Hvis du mener at rette navnet på feltet fra image -> gfx.
Så åbner du phpmyadmin, åbner tabellen, klikker rediger på feltet image.
Ret navnet til gfx.

Og så skal du lige rette:
mysql_query("INSERT INTO billeder (navn, image, kategori, ip) .....
til:
mysql_query("INSERT INTO billeder (navn, gfx, kategori, ip)
Avatar billede prodigy01 Nybegynder
09. maj 2008 - 12:42 #7
Tak igen :)
Du har været til stor hjælp.
Avatar billede jakobdo Ekspert
09. maj 2008 - 13:17 #8
Takker for point og godt jeg kunne hjælpe.
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