Avatar billede webster132 Nybegynder
02. december 2000 - 14:02 Der er 2 kommentarer

Grænse på fire filer ved brug af arrays og file uploading

Jeg har lavet et upload file-script, hvor jeg benytter mig af PHPs mulighed for at håndtere uploadede filer som et array. Problemet er bare, at når jeg gør dette, så vil PHP kun behandle de fire første uploadede filer, og er fuldstændig ligeglad med resten.

Min forms essentielle dele består af følgende:

<FORM ACTION=\"ProcessPage.php3\" METHOD=\"post\" ENCTYPE=\"multipart/form-data\">
<INPUT TYPE=\"file\" NAME=\"UploadedFiles[]\">
<INPUT TYPE=\"file\" NAME=\"UploadedFiles[]\">
<INPUT TYPE=\"file\" NAME=\"UploadedFiles[]\">
<INPUT TYPE=\"file\" NAME=\"UploadedFiles[]\">
<INPUT TYPE=\"file\" NAME=\"UploadedFiles[]\">
<INPUT TYPE=\"file\" NAME=\"UploadedFiles[]\">

<INPUT TYPE=\"submit\">
</FORM>

Mit process script består af:

  $UploadedFiles = $HTTP_POST_VARS[\"UploadedFiles\"];

  $FilesCount = count($UploadedFiles);
 
  // For each member in UploadedFiles perform upload
  for ($FileIdx = 0; $FileIdx < $FilesCount; $FileIdx++)
  {
    echo(\"Processing: \" . $FileIdx . \" / \" . $UploadedFiles[\"tmp_name\"][$FileIdx] .\"\\n<BR>\");

    // Only process actual files
    if ($UploadedFiles[\"tmp_name\"][$FileIdx] != \"none\")
    {
      copy($UploadedFiles[\"tmp_name\"][$FileIdx], ($Path . $UploadedFiles[\"name\"][$FileIdx]));
    }
  }


Bonus spørgsmål: Hvis jeg bruger 14 eller flere input felter, så får jeg fejlen:

Warning: File Upload Mime headers garbled ptr: [ in Unknown on line 0

Det er uanset om jeg uploader fire eller flere filer. Det fejl har også været oppe på PHP support-mailinglisten, men der var intet svar.

For the record, så bruger jeg PHP 4.02 under FreeBSD.
Avatar billede webster132 Nybegynder
02. december 2000 - 14:03 #1
Ups, echo(\"Processing: \" . $FileIdx . \" / \" . $UploadedFiles[\"tmp_name\"][$FileIdx] .\"\\n<BR>\"); er selvfølgelig ikke med i produktionsscriptet. Det er bare lige lidt debugging rester :)

   
Avatar billede webster132 Nybegynder
02. december 2000 - 14:04 #2
Gah, endnu en fejl. Jeg bruger:

$UploadedFiles = $HTTP_POST_FILES[\"UploadedFiles\"];

... og IKKE:

$UploadedFiles = $HTTP_POST_VARS[\"UploadedFiles\"];
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