Andreas Korthaus: (PHP)(HTTP): Excel-Datei wenn möglich im IE ausgeben

Beitrag lesen

Hallo!

[ ziemlich viel entfernt *g* ]

;-) Das hat mich so einige Stunden und ne Menge Haare gekostet

Also ich weiß hier wirklich nicht mehr weiter. Hat denn noch jemand eine Idee was ich falsch mache oder was ich evtl. noch probieren könnte?

Du machst an sich nichts falsch, nur der IE hat u.a. auch hier einen "Patschen".

Au man...

Wenn ich mich reht erinnere, geht der iE nach der Extension des URLs.

Was ist das bitte für ein Quatsch? Kann dich nicht sein dass er nichtmal den Unterschied zw. einer Recource und einem URL-Parameter kennt, und dann noch den Content-Type ignoriert...  gibts doch nicht sowas...

| Wenn Du also http://knet-systems.de/tmp/header.php?wasweisich=x.xls schreibst, dann sollte es auch mit dem IE gehen.

Ah, Du hast mich erlöst - vielen, vielen Dank! Ich war kurz davor...

| Den Content-Type und die Content-Disposion würde ich trotzdem setzen, damit richtige HTTP-Clients  auch richtig bedient werden.
Wenn das den IE nicht stört... denn hier liegt eindeutig die Priorität. Und wie sicher ist denn die Sache mit dem URL-Parameter? Oder sollte ich lieber das Script in .xls umbenennen und .xls durch den PHP-Interpreter schicken, normales Excel liefere ich eh nicht aus. Oder bekomme ich dann Caching-Probleme, wobei sich das dann mit entsprechenden Headern beheben lassen sollte, ich hoffe wenigstens diese Header beachtet der IE ;-)

Naja, vielleicht kann ich noch was anderes ausnutzen:
Im eigentlichen Anwendungsfall  werden sowieso alle Requests an ein PHP-Script geshickt wwelches dann entsprechend dem eigentlichen HTTP-Request ein Scipt läd.
Ganz grob sowas
GET /kontakt
Wird dann umgesetzt zu
GET / mein_request_script.php?req=kontakt
in den Script passiert dann irgndwann sowas:
include(MY_PATH.$_GET['req'].'.php');

So, jetzt überlege ich, wie ich das mit dem Excel-Script verwenden kann.

Optimal wäre ja so ein Request:
GET /write_excel.xls
dann würde das Script ja write_excel.xls.php
laden, nur fehlt dann die ID, die entscheidend ist _welche_ excel-Datei erzeugt werden soll, und wenn ich die als Parameter anhänge wird das wohl wieder nicht gehen, heißt also, ich müsste die vor dem .xls unterpringen, was aber auch nicht so das wahre ist, denn so müsste ich das Haupt-Script ändern da ich nicht immer einen anderen Namen für das Excel-Script habe. Schwierig. Ich denke ich mache es wie von Dir vorgeschlagen, aber Du bist Dir sicher das alle aktuellen IEs das können?

Vielen Dank nochmal und schöne Grüße
Andreas