23. april 2009 - 14:10
Der er
12 kommentarer og 1 løsning
Uploader ikke billeder
Hvorfor kan dette script ikke uploade billeder? Det placerer fint nok et indlæg i mysql databasen men der dukker ingen billeder op i mappen. Mappen er gjort 777 <?php if(isset($_POST['upload'])) { $text = $_POST['titel']; mysql_connect("localhost", "m", "m") or die(mysql_error()); mysql_select_db("madebylasse_dk") or die(mysql_error()); mysql_query("INSERT INTO pixelbilleder (titel) VALUES ('$text')") OR DIE(mysql_error()); $id = mysql_insert_id(); $extension = 'jpg'; for($i = 1; $i <= 2; $i++){ if (move_uploaded_file($_FILES['minfil']['tmp_name'], '/customers/madebylasse.dk/madebylasse.dk/httpd.www/Billeder/' . $id . '-' . $i . '.jpg')) { echo 'Fil: ' . $i . ' - Uploaded'; }else{ echo 'Fil: ' . $i . ' - Fejl'; } } } else { ?> <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> Vælg fil 1 som er lille: <input name="minfil[1]" type="file"><br /> Vælg fil 2 som er stor: <input name="minfil[2]" type="file"><br /> Titel på billede: <input type="text" name="titel"><br /> <input type="submit" name="upload" value="Upload fil"> </form> <? } ?>
Annonceindlæg fra Infor
23. april 2009 - 15:03
#1
$_FILES['minfil']['tmp_name'][$i] vil jeg mene
23. april 2009 - 15:27
#2
Det duede ikke desværre :-(
23. april 2009 - 15:40
#3
Du kan evt. blot bruge minfil[] som name for($i = 0; $i < count($_FILES["minfil"]["name"]); $i++) { echo $_FILES["minfil"]["name"][$i]."<br>"; }
23. april 2009 - 15:44
#4
Evt. prøve med: <?php $$uploaddir = "/customers/madebylasse.dk/madebylasse.dk/httpd.www/Billeder/"; if(!is_dir($uploaddir)) { echo"Dir findes ikke!"; exit; } if(!is_writable($uploaddir)) { echo"Ingen skrive rettigheder til ".$uploaddir; exit; } // resten af din fil.... ?>
23. april 2009 - 15:54
#5
OK, den siger Dir findes ikke, så det må være der problemet er?
23. april 2009 - 15:57
#6
Ja, men du skal også huske $i når du flytter filen.
23. april 2009 - 16:00
#7
I hvilken sammenhæng?
23. april 2009 - 16:03
#8
Mit første indlæg. Men ser lige at jeg fik smidt to $ tegn foran uploaddir !!!!!
23. april 2009 - 16:16
#9
Hmm det virker ikke. Desværre.
23. april 2009 - 16:29
#10
Prøv: <?php $uploaddir = "/customers/madebylasse.dk/madebylasse.dk/httpd.www/Billeder/"; if(!is_dir($uploaddir)) { echo"Dir findes ikke! ".$uploaddir; exit; } if(!is_writable($uploaddir)) { echo"Ingen skrive rettigheder til ".$uploaddir; exit; } if(isset($_POST['upload'])) { $text = $_POST['titel']; mysql_connect("localhost", "m", "m") or die(mysql_error()); mysql_select_db("madebylasse_dk") or die(mysql_error()); mysql_query("INSERT INTO pixelbilleder (titel) VALUES ('$text')") OR DIE(mysql_error()); $id = mysql_insert_id(); $extension = 'jpg'; for($i = 1; $i <= 2; $i++){ if (move_uploaded_file($_FILES['minfil']['tmp_name'][$i], $uploaddir . $id . '-' . $i . '.jpg')) { echo 'Fil: ' . $i . ' - Uploaded'; }else{ echo 'Fil: ' . $i . ' - Fejl'; } } } else { ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> Vælg fil 1 som er lille: <input name="minfil[1]" type="file"><br /> Vælg fil 2 som er stor: <input name="minfil[2]" type="file"><br /> Titel på billede: <input type="text" name="titel"><br /> <input type="submit" name="upload" value="Upload fil"> </form> <?php } ?>
23. april 2009 - 16:33
#11
Det virkede! Hvad gjorde du helt specifikt?
23. april 2009 - 16:40
#12
Jeg puttede $i på i din forløkke når billeder skulle flyttes. Og da jeg selv bruger "open_shorttag off" i min php.ini, satte jeg php på starttags. <?php og ikke blot <?
23. april 2009 - 16:48
#13
Hmm ok :-)
Kurser inden for grundlæggende programmering