Avatar billede condor9 Nybegynder
28. januar 2004 - 23:59 Der er 13 kommentarer og
1 løsning

fejl i uploadscript.

Hejsa :o)

Jeg har lavet et uploadscript.. Det uploader 2 filer til en mappe på min webserver, og opretter samtidig en post i min database..

Det virker halvt om halvt.. scriptet uploader filerne og opretter en post i databasen, problemet er bare at den gerne skulle skrive det originale filnavn i tabellen. Det gør den ikke, den skriver stien til den temperere fil..

Jeg kan ikke gennemskue hvad der er galt. :o(

Her har i kildekoden:
<?

$host = "localhost";
$user = "galleri";
$pass = "galleri";
$db = "galleri";

mysql_connect("$host", "$user", "$pass");
mysql_select_db($db);

$uploaddir="/var/www/html/galleri/";

//directory to upload to
copy($Tpic, $uploaddir.$Tpic_name);
unlink($Tpic);

copy($Pic, $uploaddir.$Pic_name);
unlink($Pic);

$insertSQL="insert into galleri (Kat, Tpic, Bem, Pic) values ('$Kat', '$Tpic', '$Bem', '$Pic')";
mysql_query($insertSQL);
mysql_close();
?>
Avatar billede schaefner Juniormester
29. januar 2004 - 00:00 #1
$insertSQL="insert into galleri (Kat, Tpic, Bem, Pic) values ('$Kat', '$Tpic_name', '$Bem', '$Pic_name')";
Avatar billede condor9 Nybegynder
29. januar 2004 - 00:08 #2
Det virkede.. Tak :o)
Avatar billede schaefner Juniormester
29. januar 2004 - 00:08 #3
og hvis den skal fremtidsikres lidt:

<?php
$host = 'localhost';
$user = 'galleri';
$pass = 'galleri';
$db = 'galleri';
$uploaddir = '/var/www/html/galleri/';

mysql_connect($host,$user,$pass);
mysql_select_db($db);

move_uploaded_file($_FILES['Tpic']['tmp_name'], $uploaddir.$_FILES['Tpic']['name']);
unlink($_FILES['Tpic']['tmp_name']);

move_uploaded_file($_FILES['Pic']['tmp_name'], $uploaddir.$_FILES['Pic']['name']);
unlink($_FILES['Pic']['tmp_name']);

mysql_query("INSERT INTO galleri (Kat, Tpic, Bem, Pic) VALUES ('".$Kat."','".$_FILES['Tpic']['name']."','".$Bem."','".$_FILES['Pic']['name']."')") or die(mysql_error());
mysql_close();
?>

$kat og $Bem kommer jo nok fra en form, så det vil være mere korrekt at gøre således:

mysql_query("INSERT INTO galleri (Kat, Tpic, Bem, Pic) VALUES ('".$_POST['Kat']."','".$_FILES['Tpic']['name']."','".$_POST['Bem']."','".$_FILES['Pic']['name']."')") or die(mysql_error());
Avatar billede condor9 Nybegynder
29. januar 2004 - 00:12 #4
Hvad er forskellen på den query der er øverst og så den der er nederst ?
Avatar billede condor9 Nybegynder
29. januar 2004 - 00:13 #5
Den kommer med den fejl her:

Warning: unlink() failed (No such file or directory) in

?!?
Avatar billede Slettet bruger
29. januar 2004 - 00:45 #6
schaefner må have glemt at move_uploaded_file virkelig flytter filen, og den ligger derfor ikke længere på temp-stedet, og kan derfor ikke slettes.

Linien med unlink er derfor komplet overflødig og kan fjernes.
Avatar billede Slettet bruger
29. januar 2004 - 00:48 #7
Den nederste query bruger det globale $_POST-array, og vil derfor virke på alle nyere PHP-udgaver - uanset om register.globals er slået til eller fra.

Den øverste kræver, at register.globals er slået til, men det er den ikke som standard idag.
Avatar billede condor9 Nybegynder
29. januar 2004 - 18:17 #8
Ved i om der er nogle begrænsninger i dette upload script her ? Jeg kan ikke uploade filer på mere end 100Kb, og min php.ini værdierne ved upload_max_filesize og post_max_filesize sat langt over det filerne fylder... :o(

Hvad kan det så være ?
Avatar billede condor9 Nybegynder
29. januar 2004 - 21:10 #9
Skal der flere points til ?
Avatar billede schaefner Juniormester
29. januar 2004 - 21:12 #10
hvad sker der når du uploader en fil på den størrelse?
Avatar billede condor9 Nybegynder
29. januar 2004 - 21:21 #11
ingen ting..

Det er til et galleri.. den uploader den lille fil (thumbnail) men lader bare den store være.. Hvis den store er under 100 Kb, så uploader den også den..
Avatar billede condor9 Nybegynder
29. januar 2004 - 22:11 #12
kan det være de kommandoer der bruges i upload scriptet ?
Avatar billede Slettet bruger
29. januar 2004 - 22:21 #13
Du skulle vel ikke have en maxfilesize sat i din upload-formular?
Avatar billede condor9 Nybegynder
29. januar 2004 - 22:25 #14
Jow... Hvorfor har jeg god ikke tænkt på det noget før ?? Det er næsten helt flovt :o)

Tak for hjælpen..
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