Avatar billede spiri Nybegynder
09. juni 2002 - 11:07 Der er 14 kommentarer

Flush og POST

Jeg har et uploadscript der via den standard form smider en fil op på serveren.

Jeg vil gerne lave en flush() så snart klienten får fat i filen.

Det lader ikke til at kunne lade sig gøre, idet serveren skal modtage alle variabler/data, fra HTML formen, inden den begynder at læse phpscriptet.

Kan man på en eller anden måde konfigurererApache eller php, til at eksekvere et phpscript INDEN alle variabler/data er modtaget?

Giver det mening?
Avatar billede Slettet bruger
09. juni 2002 - 11:08 #1
det kan slet ikke lade sig gøre ifølge HTTP protocollen :)
Avatar billede spiri Nybegynder
09. juni 2002 - 11:10 #2
Er der andre idéer til hvordan det kunne lade sig gøre?
Avatar billede Slettet bruger
09. juni 2002 - 11:10 #3
hvad vil du da vise brugeren imens den uploader???
Avatar billede spiri Nybegynder
09. juni 2002 - 11:11 #4
Status af upload.
Avatar billede jakoba Nybegynder
09. juni 2002 - 11:20 #5
Du kan evt lave et lag der kommer tilsyne udet han submitter. Men jeg kan ikke se nogen nåde at synkronisere en graf i det lag med evt uploadstatus. santlige postede data ankommer og du kan ikke reagere på dem før de er ankommet.
Avatar billede jakoba Nybegynder
09. juni 2002 - 11:20 #6
Ups.  udet -> idet
Avatar billede Slettet bruger
09. juni 2002 - 11:21 #7
Det er temmelig tricky... normalt ville jeg bruge et ActiveX component eller noget JavaApplet halløj, men det er også så besværligt!

Du kan jo evt lave target i din form i en skjult frame, og med lidt javascript kode udskifte den akutelle side med en "Uploader... vent!" side... Når den skjulte frame er færdigloaded (== filerne er uploaded) kan du med noget andet javascript ændre "Uploader... vent!" siden til "Upload done" side
Avatar billede spiri Nybegynder
09. juni 2002 - 11:32 #8
Problemet er at jeg ikke ved hvad tmp-filerne (/tmp/phpxytz) hedder før de er uploadet.

Det jeg har lavet indtil nu (som jo så ikke virker!!), er at den side man submitter til ser f.eks således ud:


<script>
Javascript_åben_vindue_med_variablerne_filnavn($file)_og _filstørrelse
</script>
<?
flush()
?>


I javascript popupvinduet, har jeg så filnavn og den endelige størrelse.

Dvs. her laver jeg alt det graf flush-halløj.




Dvs. for at skære ind til benet, så virker det hele fint, bortset fra at flush() på submit_target_siden først bliver kaldt, når alle data er ankommet.

Det er det eneste jeg lige skal ha' rettet.....
Avatar billede spiri Nybegynder
09. juni 2002 - 11:36 #9
Kan man muligvis lave en form for "intern redirect" på serveren, således at jeg  at jeg i første fil starter en session, gemmer tmp_filnavnene, flusher, og derefter smider alle POST data'ene videre til en anden fil, der så laver copy funktionerne, mv.

Eller vrøvler jeg bare som en idiot?
Avatar billede Slettet bruger
09. juni 2002 - 11:59 #10
Problemet er at med browser uploads er at de sendes i samme forespørgsel, fx:

GET /php/upload.php HTTP/1.1
Host: localhost
UserAgent: MSIE 6.0
....
Content-Type: application/doc
Content-Length: 541231

#"(/!JUH!KJ"#kjK"#H (binær eller ascii data)


Dvs den sender filen med, og fortæller filstørrelsen sammen med filen den sender... Men da PHP først får alle variabler (incl. postvariabler) når alt dataen er ankommet, er der jo ikke noget du kan gøre, for at speede det lidt op... Med hensyn til copyfunktionerne, er det jo ikke det der sløver, derimod brugerens upstream!
Avatar billede jakoba Nybegynder
09. juni 2002 - 12:13 #11
En 'submit' operation skal være 'udelelig', du får ikke lov at arbejde og evt ændre på noget imens den er igang.

lad os tage din "lille sorte bog" som eksempel
  Lise:    exkæreste.  "for meget irriterende føleri",  85:55:80,  1985,  12 23 34 45
  Louise:  goddess.    "håber hun en dag opdager jeg findes",  95:60:90,  1983,  23 34 45 56
  Marie:  kæreste.    "bringer øl når der er fodbold",  85:55:80,  1986,  34 45 56 67
de har hver deres side og en dag i kantine bumper Loise ind i dig så din cola vælter og hun bliver drivvåd "Så se dig da for istedetfor altid at stå at glo på mig" råber hun så alle i kantinen kan høre det, og så skal hondes entry jo opdateres til:
  Louise:  evilbitch.  "undgå enhver kontakt",  95:60:90,  1983,  23 34 45 56
Hvos der er et ophold efter du har skrevet 'evilbith' risikerer vi at vinden vender blad førend du ændrer kommentaren så du kommer til at skrive den ny kommentag ved Marie. Det må ikke ske. Sådan en opdatering skal ske 'udelelligt'.

mvh JakobA
Avatar billede Slettet bruger
09. juni 2002 - 12:17 #12
lol
Avatar billede tipsen Nybegynder
09. juni 2002 - 12:31 #13
Jakoba: Du har altså de sjoveste analogier - hvor får du dem fra...
Avatar billede jakoba Nybegynder
09. juni 2002 - 12:37 #14
top of my head
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