03. april 2003 - 20:46
Der er
16 kommentarer og 1 løsning
mere upload..
Jeg smider lige nogle flere point efter det script jeg fik af schaefner.. Jeg har selvfølgelig tilpasset det.. if (isset($_POST['upload'])) { $filtyper = array("image/gif","image/jpg","image/jpeg","image/pjpeg","application/pdf"); if (!in_array($_FILES['upfile']['type'], $filtyper)) { print "<SCRIPT>alert('Ikke den slags filer!');</SCRIPT>"; } else { $dist = "products/"; $result = mysql_query("SELECT * FROM products ORDER BY id DESC LIMIT 0,1"); $row = mysql_fetch_array($result); $id= $row[id]+1; $path = pathinfo($_FILES['upfile']['name']); $endelse = $path["extension"]; $filname = "$id.$endelse"; move_uploaded_file($_FILES['upfile']['tmp_name'], $dist.$filname); } mysql_query("INSERT INTO products (name, model, type, text, file) VALUES ('$name', '$model', '$type', '$text', '$filname')"); } Men mit nye problem er at jeg gerne vil have det til at arbejde med flere filer.. Så det eneste jeg skal ændre er faktisk min Insert query. det gør ikke noget at filer kommer til at hedder ID_X.type hvor ID er række IDen og X er en stiende værdig afhængi af antal filer. og type er filtypen.. Jeg skal bruge dette script i 2 tilfælde. et hvor min insert er med name, model, type, text, file1, file2 og en med text, file1, file2, file3, file4, file5 Håber det er nogen der kan hjælpe mig ud..
Annonceindlæg fra Cognizant
03. april 2003 - 20:52
#2
Det var lige precis det jeg havde kigge på.. men jeg aner ikke hvordan man får de 2 flette sammen på en fornuftig måde... :)
03. april 2003 - 21:00
#3
Utestet: <?php if (isset($_POST['upload'])) { $filtyper = array("image/gif","image/jpg","image/jpeg","image/pjpeg","application/pdf"); if (!in_array($_FILES['upfile']['type'], $filtyper)) { print "<SCRIPT>alert('Ikke den slags filer!');</SCRIPT>"; } else { $dist = "products/"; for($i=0; $i < count($fil); $i++) { if(isset($_FILES['upfile']['name'][$i])) { $result = mysql_query("SELECT * FROM products ORDER BY id DESC LIMIT 0,1"); $row = mysql_fetch_array($result); $id = $row[id]+1; $path = pathinfo($_FILES['upfile']['name'][$i); $endelse = $path["extension"]; $filname = "$id.$endelse"; move_uploaded_file($_FILES['upfile']['tmp_name'][$i], $dist.$filname); mysql_query("INSERT INTO products (name, model, type, text, file) VALUES ('$name','$model','$type','$text','$filname')"); } } } } ?> Så laver du dine felter sådan her: <input type="file" name="fil[]"><br> <input type="file" name="fil[]"><br> <input type="file" name="fil[]">
03. april 2003 - 21:01
#4
$path = pathinfo($_FILES['upfile']['name'][$i); skal være: $path = pathinfo($_FILES['upfile']['name'][$i]);
03. april 2003 - 21:11
#5
der var ikke gevinst.. :(
03. april 2003 - 22:45
#6
så prøv: <form method="post" action="" enctype="multipart/form-data"> Hvilken fil skal uploades?<br> <input type="file" name="upfile[]"><br> <input type="file" name="upfile[]"><br> <input type="file" name="upfile[]"><br> <input type="file" name="upfile[]"><br> <input type="file" name="upfile[]"><br> <input type="submit" name="upload" value="Upload""> </form> <hr> <?php if (isset($_POST['upload'])) { $filtyper = array("image/gif","image/jpg","image/jpeg","image/pjpeg","application/pdf"); if (!in_array($_FILES['upfile']['type'], $filtyper)) { print "<SCRIPT>alert('Ikke den slags filer!');</SCRIPT>"; } else { $dist = "products/"; for($i=0; $i < count($_FILES['upfile']['name']); $i++) { if(isset($_FILES['upfile']['name'][$i])) { $result = mysql_query("SELECT * FROM products ORDER BY id DESC LIMIT 0,1"); $row = mysql_fetch_array($result); $id = $row[id]+1; $path = pathinfo($_FILES['upfile']['name'][$i); $endelse = $path["extension"]; $filname = "$id.$endelse"; move_uploaded_file($_FILES['upfile']['tmp_name'][$i], $dist.$filname); mysql_query("INSERT INTO products (name, model, type, text, file) VALUES ('$name','$model','$type','$text','$filname')"); } } } } ?>
04. april 2003 - 10:36
#7
Den uploaded ikke noget, og men den opretter basen, men filen i basen hedder kun ID'et.. Min SQL query lyder så ledes.. INSERT INTO products (name, model, type, text, file,image) VALUES ('$name','$model','$type','$text','$filname','$filname') Skal $filename ikke angives forskelligt? og skal den ikke være uden for "FOR" løkken? Ikke fordi jeg vil gøre mig klog på det..
10. april 2003 - 00:21
#8
Prøv: <?php if (isset($_POST['upload'])) { $dist = "../skobilleder/"; for($i=0; $i < count($_FILES['upfile']['name']); $i++) { if($_FILES['upfile']['name'] != "") { $path = pathinfo($_FILES['upfile']['name'][$i]); $ext = $path["extension"]; $filnavn = $id.".".$ext; move_uploaded_file($_FILES['upfile']['tmp_name'][$i], $dist.$filnavn); mysql_query("INSERT INTO products (name, model, type, text, file) VALUES ('$name','$model','$type','$text','$filnavn')"); } } } ?>
10. april 2003 - 00:24
#9
Hov, der mangler lige lidt ;) <?php if (isset($_POST['upload'])) { $dist = "../skobilleder/"; for($i=0; $i < count($_FILES['upfile']['name']); $i++) { if($_FILES['upfile']['name'] != "") { $result = mysql_query("SELECT * FROM products ORDER BY id DESC LIMIT 0,1"); $row = mysql_fetch_array($result); $id = $row[id]+1; $path = pathinfo($_FILES['upfile']['name'][$i]); $ext = $path["extension"]; $filnavn = $id.".".$ext; move_uploaded_file($_FILES['upfile']['tmp_name'][$i], $dist.$filnavn); mysql_query("INSERT INTO products (name, model, type, text, file) VALUES ('$name','$model','$type','$text','$filnavn')"); } } } ?>
10. april 2003 - 12:03
#10
Ja... den er lækker.. Men jeg tror at jeg ikke forklarer mig 100%... :( min form har 2 filer, som skal ligge i samme række f.eks en PDF og en GIF..
10. april 2003 - 12:12
#11
Hvordan skal det stå i databasen? name: Et eller andet model: Et eller andet type: Et eller andet text: Et eller andet file: 1.gif, 1.pdf eller hvordan?
10. april 2003 - 12:13
#12
Ellers er det det vel bare at ha to felter i tabellen. En som hedder gif og en anden der hedder pdf.
10. april 2003 - 12:28
#13
Hvis dine fleter i din tabel er således "name,model,type,text,gif,pdf," så burde du kunne sådan her: <input type="file" name="up_gif"><br> <input type="file" name="up_pdf"> <?php if (isset($_POST['upload'])) { $dist = "../skobilleder/"; $result = mysql_query("SELECT * FROM products ORDER BY id DESC LIMIT 0,1"); $row = mysql_fetch_array($result); $id = $row[id]+1; if($_FILES['up_gif']['name'] != "") { $path = pathinfo($_FILES['up_gif']['name']); $ext = $path["extension"]; $gif = $id.".".$ext; move_uploaded_file($_FILES['up_gif']['tmp_name'][$i], $dist.$gif); } else { echo "Væg gif-fil"; } if($_FILES['up_pdf']['name'] != "") { $path = pathinfo($_FILES['up_pdf']['name']); $ext = $path["extension"]; $pdf = $id.".".$ext; move_uploaded_file($_FILES['up_pdf']['tmp_name'][$i], $dist.$pdf); } else { echo "Væg pdf-fil"; } mysql_query("INSERT INTO products (name,model,type,text,gif,pdf) VALUES ('$name','$model','$type','$text','$gif','$pdf')"); } ?>
10. april 2003 - 21:36
#14
Ja du forstået mig, men dit nye script uploader ikke noget, og jeg har prøvet at ændre $dist = "../skobilleder/"; til $dist = ""; og det hjalp heller ikke.. :(
10. april 2003 - 21:45
#15
Jeg har fundet fejlen.. :) det der lille $i i move_uploaded gjorde det grimt.. Mange takker for din hjælp, endnu engang... :) Så hvis du vil have point, så giv mig et svar.. :P
10. april 2003 - 21:46
#16
Ja, der havde lige sneget sig en fejl ;o)
11. april 2003 - 10:14
#17
Jeg bukker mig i støvet igen...
Vi tilbyder markedets bedste kurser inden for webudvikling