14. januar 2009 - 19:15
Der er
13 kommentarer og 1 løsning
Husk indhold i form
Hej skal bruge noget hjælp til et det script her: $b = array(); if(isset($_GET['a'])) { $a = $_GET['a']+1; for($i=1; $i<$a; $i++) { $b[$i] = "$i"; } }else{ $a=1; $b[1] = 1; } echo '<form action="upload_billede.php" method="post" enctype="multipart/form-data">'; foreach($b as $c){ echo' <br>Vælg fil: <input type="file" name="file[]" id="file" /> '; } echo '<br><input type="submit" name="submit" value="Upload fil" /> </form>'; echo '<a href="vaelg billed.php?a='.$a++.'">Tilføj en fil mere'; Det skal være sådan at den husker filen der er blevet valgt selvom jeg jeg trykker "Tilføj en fil mere" håber der nogen der kan hjælpe
Annonceindlæg fra Kingston Technology
14. januar 2009 - 19:22
#1
Hej, jeg har desværre ikke svaret på dit spørgsmål, men jeg tror jeg ved hvordan du kan løse problemet selv. Jeg vil sige det er noget javascript du skal have gang i, sådan du undgår at siden bliver opdateret. Håber det var til støtte.. Held og lykke med det :) Er ikke ligefrem en haj til javascript ^^
14. januar 2009 - 19:48
#2
Fil felter kan ikke forudfyldes af sikkerhedsmæssige årsager! Som g1mzee siger, så kan du tilføje flere felter med javascript.
14. januar 2009 - 20:05
#3
Ikke testet: <script type="text/javascript"> function insertNew(){ var ctn = document.getElementById('contain'); var input = document.createElement('input'); input.type = 'file'; input.name = 'file[]'; ctn.appendChild(input); } </script> <?php if(isset($_POST['submit'])){ var_dump($_FILES['file']); } echo ' <form action="upload_billede.php" method="post" enctype="multipart/form-data"> <div id="contain" style="width:200px;"> <input type="file" name="file[]" id="file" /> </div> <input type="submit" name="submit" value="Upload fil" /> </form> '; echo '<a href="java script: void(0)" onclick="insertNew()">Tilføj en fil mere</a>'; ?>
14. januar 2009 - 21:19
#4
#fant0mas kan du så svar mig på hvor upload scriptet skal se ud. kunne forstille mig det kunne være noget med foreach.(kig på vedlagt script i bunden) Array $_FILE["file"] se sådan ud ved at vælge 4 filer ( [name] => Array ( [0] => 1.php [1] => 2.txt [2] => 3.html ) [type] => Array ( [0] => application/octet-stream [1] => text/plain [2] => text/html ) [tmp_name] => Array ( [0] => /var/spool/php/phpEKffq4 [1] => /var/spool/php/phpAXe2yz [2] => /var/spool/php/phpWzKg14 ) [error] => Array ( [0] => 0 [1] => 0 [2] => 0 ) [size] => Array ( [0] => 1989 [1] => 2367 [2] => 2120 ) ) upload script der virker til en fil. $_SESSION['mappe'] = "./orig/" if ($_FILES["file"]["size"] < 200000000000) { if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " . $_FILES["file"]["type"] . "<br />"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />"; if (file_exists($_SESSION['mappe'] . $_FILES["file"]["name"])) { echo $_FILES["file"]["name"] . " already exists. "; } else { move_uploaded_file($_FILES["file"]["tmp_name"], $_SESSION['mappe'] . $_FILES["file"]["name"]); echo "Stored in: " . $_SESSION['mappe'] . $_FILES["file"]["name"]; } } } else { echo "Invalid file<br>"; }
14. januar 2009 - 21:34
#5
Tag et kig på foreach()
14. januar 2009 - 21:40
#6
har prøvet men kan ikke få den til at virke kan ikke finde ud af hvad jeg skal køre den på.
14. januar 2009 - 23:13
#7
foreach ($_FILES['file']['name'] as $key => $file) { echo $_FILES['file']['name'][$key]; echo $_FILES['file']['type'][$key]; //osv... }
14. januar 2009 - 23:46
#8
har fundet ud af det men tager ikke den første fil med i $_FILES["file"] hvis der vælges mere end en fil. selve upload <?php if(isset($_FILES["file"])){ $a = count($_FILES["file"]["name"])+1; for($i=1; $i<$a; $i++) { $b[$i] = "$i"; } } foreach($b as $c){ $c--; if(2 < strlen($_FILES["file"]["name"][$c])) { $file["name"] = $_FILES["file"]["name"][$c]; $file["type"] = $_FILES["file"]["type"][$c]; $file["tmp_name"] = $_FILES["file"]["tmp_name"][$c]; $file["error"] = $_FILES["file"]["error"][$c]; $file["size"] = $_FILES["file"]["size"][$c]; $fil [$c] = array("name" => $file["name"], "type" => $file["type"], "tmp_name" => $file["tmp_name"], "error" => $file["error"], "size" => $file["size"]); }else{ $file["name"] = $_FILES["file"]["name"]; $file["type"] = $_FILES["file"]["type"]; $file["tmp_name"] = $_FILES["file"]["tmp_name"]; $file["error"] = $_FILES["file"]["error"]; $file["size"] = $_FILES["file"]["size"]; $fil [$c] = array("name" => $file["name"], "type" => $file["type"], "tmp_name" => $file["tmp_name"], "error" => $file["error"], "size" => $file["size"]); } } $mappe = "./orig/"; foreach($fil as $name) { if ($name["size"] < 200000000000) { if ($name["error"] > 0) { echo "Return Code: " . $name["error"] . "<br />"; } else { echo "Upload: " . $name["name"] . "<br />"; echo "Type: " . $name["type"] . "<br />"; echo "Size: " . ($name["size"] / 1024) . " Kb<br />"; echo "Temp file: " . $name["tmp_name"] . "<br />"; if (file_exists($mappe . $name["name"])) { echo $name["name"] . " already exists. "; } else { move_uploaded_file($name["tmp_name"], $mappe . $name["name"]); echo "Stored in: " . $mappe . $name["name"]; } } } else { echo "Invalid file<br>"; } } ?>
15. januar 2009 - 08:10
#9
Det er ikke det pæneste kode, men det burde virke efter hvad jeg kan se. Prøv lige med mit eksempel, det giver ingen mening at loope gennem array'et 3 gange bare for at få samme resultat som man startede med.
15. januar 2009 - 10:50
#10
Har det samme problem med at den ikke ligger den første fil ind i array'et hvis er er mere end en og så uploader den godt nok de andre filer men ikke den første. den uploader godt nok den første fil hvis kun der er en.
15. januar 2009 - 13:19
#11
Så må du dumpe data'en punkt for punkt og se hvor den er gal.
15. januar 2009 - 13:39
#12
Har fundet problemmet Tak for hjælpen
15. januar 2009 - 13:53
#13
Kode 40? Det var så lidt
15. januar 2009 - 14:01
#14
ja
Vi tilbyder markedets bedste kurser inden for webudvikling