![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 18.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Sprawa wygląda tak:
generuję w PHP dynamicznie XML z bazy danych i w tym momencie wygląda to tak, że do przeglądarki wczytuje się XML, chciałbym uzyskać taki efekt aby po wygenerowaniu tego XML przeglądarka zinterpretowała to jako plik do pobrania. Czy można wymusić w przeglądarce pobranie ? Zaznaczam, że jest to generowane dynamicznie i nie cachowane do pliku na serwerze... Dzięki za pomysły. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Jest to kwestia tego, jakie nagłówki wyślesz do przeglądarki. Dla XML-a jest application/xml, ale wiele przeglądarek interpretuje to jako wyświetlenie. Spróbuj dać application/octet-stream* oznaczające "ciąg binarny o nieznanej zawartości" - w 99,99999999999999999% przypadków przeglądarka udostępni wtedy okienko do zapisu pliku. Wykorzystaj jeszcze nagłówki do wybrania nazwy pliku i jego wielkości, to będzie to jeszcze bardziej elegancko obsługiwane.
* i nawet nie próbuj tego napisać bez pauzy - w sieci działa jakaś grupka "inteligentnych inaczej" propagujących wierutne kłamstwo, że przeglądarka Opera wymaga nagłówka application/octetstream, tymczasem wysłanie takiego nagłówka ją totalnie ogłupia. Ci ynteligenci pracowali m.in. przy takich skryptach, jak phpBB czy vBulletin i efekt jest taki, że pod Operą można się tam pociąć, próbując pobrać załącznik. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 18.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki (IMG:style_emoticons/default/yahoo.gif)
Działa bardzo dobrze. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 08:48 |