Avatar billede nullermanden Nybegynder
10. november 2005 - 17:11 Der er 6 kommentarer

Uploadscript siger "siden kan ikke vises"

Hej!

Jeg sidder og roder med et script, hvor man kan uploade filer til en server. Det virker rigtig fint, filen bliver uploadet og jeg bliver sendt videre til næste side - medmindre jeg forsøger at uploade filer på mere end ca. 500 kB. Så ryger jeg videre til standardsiden "Siden kan ikke vises", og filen bliver ikke uploadet.

Jeg har været inde på php.net i et par timer og efterprøvet alle de forslag, jeg har fundet. Alle de forskellige max-størrelser er sat til 32 MB i php.ini-filen, så 500 kB burde bestemt ikke være noget problem. Jeg mener heller ikke, at det kan skyldes timeout, da "Siden kan ikke vises"-siden popper op lige med det samme jeg forsøger at submitte upload-formen.


Her er koden til formen, som burde uploade:

<form method='post' enctype='multipart/form-data' action='side2.php'>
  <input type='hidden' name='type' value='upload'/>
  <input type='hidden' name='id' value='1'/>
  <tr>
    <td colspan=2 align='center'>
      -<br/>
      Vælg den fil, som skal uploades (max. 30 MB)<br/>
      <br/>
      <input type='hidden' name='MAX_FILE_SIZE' value='30000000'/>
      <input type='file' name='userfile' style='width: 250px;'/>
    </td>
  </tr>
  <tr>
    <td colspan=2 align='center'>
      <input type='button' style='width: 125px;' value='Upload fil' onClick="if (document.all.userfile.value!='') this.form.submit(); else window.alert('Du skal vælge en fil til upload!');"></input>
      <input type='button' style='width: 125px;' value='Fortryd' onClick='window.location.href="forrigeside.php"'></input>
      <br/><br/>
    </td>
  </tr>
</form>


Er der nogen, der har et forslag til, hvad det kunne være?

På forhånd tak!
Avatar billede jakobdo Ekspert
10. november 2005 - 17:13 #1
Jeg tror det interessante findes på din side: side2.php
Avatar billede nullermanden Nybegynder
10. november 2005 - 17:16 #2
Det troede jeg også i starten - men jeg har prøvet at linke til en anden side som bare var en blank html-side, og der skete det samme. Og oppe i adresselinjen står hver gang den rigtige adresse, det har jeg tjekket efter.
Avatar billede Slettet bruger
10. november 2005 - 17:28 #3
Der er ikke noget i vejen med den kode du viser her.
Avatar billede Slettet bruger
10. november 2005 - 17:28 #4
Men lad være med at have din file-size i et felt.. Så kan folk nemt snyde udenom -!
Avatar billede nullermanden Nybegynder
10. november 2005 - 17:34 #5
Det er ellers sådan de anbefaler det på php.net? Men det gør heller ikke noget, for serveren kan alligevel ikke tage mere end 32 MB, og det er også kun til nogen jeg kender. Men tak alligevel - hvordan kunne man ellers gøre det da?

Men virker det ikke meget underligt, at den skiller ved ca. 500 (sikkert 512 præcis)? Der er ingen fejlmeddelelser ved filer under den størrelse, der virker alt præcis som det skal.
Avatar billede Slettet bruger
10. november 2005 - 17:39 #6
Det har muligvist noget at sige med at den tager længere tid om at eksekvere scriptet end den tid, serveren har sat max_execution_time til.

Alternativt kunne du sætte en variabel på side2.php som f.eks:

$config['max_file_size'] = 30*1024*1024; // 30 mb = 30*1024 kb = 30*1024*1024 bytes.
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