Avatar billede Slettet bruger
20. juni 2006 - 17:17 Der er 8 kommentarer og
1 løsning

Multi upload

Hej eksperter.
Jeg ahr brug for et multiupload script.

Gerne et der kan holde til uendeligt mange uploads.
Altså sådan så det er 100% dynamisk.

$antal = 3; //antal uploads
echo "<form action=\"\" method=\"\" enctype=\"multipart/form-data\">";
for($i=1; $i<=$antal; $i++) {
echo "Fil ".$i.":<input type=\"file\" name=\"file[]\" /><br />";
}
echo "<input type=\"submit\" name=\"upload\" value=\"Upload\" />";

print "<pre>";
print_r($_FILES);
print "</pre>";

Men hvordan tjekker jeg som om alle felterne er udfyldt og hvordan skal jeg så uploade de filer her?
Avatar billede Slettet bruger
20. juni 2006 - 17:17 #1
Det jeg mente med 100% dynamisk, var det med variablen $antal
Avatar billede loevgaard Praktikant
20. juni 2006 - 18:16 #2
for($i=0; $i<count($_FILES['file']['tmp_name']); $i++) {
  if($_FILES['file']['tmp_name'][$i]) {
    if(!move_uploaded_file($_FILES['file']['tmp_name'][$i], $dir) {
      throw new Exception("Fejl ved upload");
    }
  }
}
Avatar billede Slettet bruger
20. juni 2006 - 18:55 #3
Hvad gør: throw new Exception("Fejl ved upload");?
Avatar billede Slettet bruger
20. juni 2006 - 19:02 #4
Mit fulde script nu:
<?PHP
$antal = 3; //antal uploads
$dir = $_SERVER['DOCUMENT_ROOT']."/multi_upload/filer/";
if(isset($_POST['upload'])) {
    for($i=0; $i<count($_FILES['file']['tmp_name']); $i++) {
        if($_FILES['file']['tmp_name'][$i]) {
            if(!move_uploaded_file($_FILES['file']['tmp_name'][$i], $dir.$_FILES['file']['name'][$i])) {
                throw new Exception("Fejl ved upload");
            }
        }   
    }
}

echo "<form action=\"\" method=\"post\" enctype=\"multipart/form-data\">\n";
for($i=1; $i<=$antal; $i++) {
    echo "\n\tFil ".$i.": <input type=\"file\" name=\"file[]\" /><br />\n";
}
echo "\n\t<input type=\"submit\" name=\"upload\" value=\"Upload\" />";
echo "</form>";


print "<pre>";
print_r($_FILES);
print "</pre>";
?>
Avatar billede Slettet bruger
20. juni 2006 - 19:02 #5
Men throw new Exception("Fejl ved upload"); > melder fejlen:
Fatal error: Uncaught exception 'Exception' with message 'Fejl ved upload' in C:\wamp\www\multi_upload\upload.php:8 Stack trace: #0 {main} thrown in C:\wamp\www\multi_upload\upload.php on line 8
Avatar billede jakobdo Ekspert
20. juni 2006 - 19:09 #6
throw new exception er til php5, du kan evt rette det til:
exit('Fejl ved upload');
Avatar billede Slettet bruger
20. juni 2006 - 21:08 #7
PHP5 skulle nu meget gerne virke.
Avatar billede loevgaard Praktikant
21. juni 2006 - 18:00 #8
$antal = 3; //antal uploads
try {
$dir = $_SERVER['DOCUMENT_ROOT']."/multi_upload/filer/";
if(isset($_POST['upload'])) {
    for($i=0; $i<count($_FILES['file']['tmp_name']); $i++) {
        if($_FILES['file']['tmp_name'][$i]) {
            if(!move_uploaded_file($_FILES['file']['tmp_name'][$i], $dir.$_FILES['file']['name'][$i])) {
                throw new Exception("Fejl ved upload");
            }
        } 
    }
}
} catch (Exception $e) {
  echo $e;
}
Avatar billede Slettet bruger
21. juni 2006 - 19:06 #9
Mange 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