![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 27.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
W jaki sposob mozna zreazlizowac download plikow. Mam pliki, kotrych do ktorych mam linki na stroni i chcialbym aby po wybraniu pliku otworzylo sie okno z zapytaniem gdzie zapisac ten plik. Chce pozbyc sie otwierania automatycznego plikow w oknie przegladarki jak to jest np z doc czy pdf |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 407 Pomógł: 0 Dołączył: 24.10.2002 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
daj te na glowki
[php:1:cc102e0f92]<?php header("Cache-control: private"); header("Content-Type: ".$typ_twojegopliku); header("Content-Length: ".filesize($twojplik)); header("Content-Disposition: attachment; filename=".$twojplik); ?>[/php:1:cc102e0f92] a po nich wrzuc zawartosc twojego pliku... fopen() itd... |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) ![]() ![]() |
Albo takie nagłówki:
[php:1:bf3e7ff560] header('Content-Type: application/force-download'); header('Content-Type: application/octet-stream'); header('Content-Type: application/download'); header('Content-Disposition: attachment; filename=' . $nazwa_pliku); header('Content-Transfer-Encoding: binary'); header('Content-Length: ' . strlen($zawartosc_pliku)); echo $zawartosc_pliku; [/php:1:bf3e7ff560] |
|
|
![]()
Post
#4
|
|
Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Hmmm... niestety takie nagłowki są nieskuteczne przy dużych plikach, bo wczytywanie zawartości z nich zajmuje php wieki. Natamiast odesłanie do pliku przez header( 'location: nazwa_pliku' ); kończy sie w mozilli otwieraniem strony z zawartością pliku, niezależnie od rozszerzenia :/
Jak zmusić Mozille by pobierała pliki z adresu na który ją przekierunkujemy, a nie próbowała otwierać strony z zawartością? ----------------- Co mnie bardzo zdziwiło, w IE 6.0 pojawia sie normalny monit pobierania. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 362 Pomógł: 0 Dołączył: 18.02.2004 Skąd: Knurów Ostrzeżenie: (0%) ![]() ![]() |
To zależy jaki rodzaj pliku, bo tylko niektóre się tak zachowują. Niestety od strony serwera nie można nic na to zaradzić. Jedynym wyjściem jest chyba użycie sposobu który Ci podałem.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 151 Pomógł: 0 Dołączył: 4.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Albo takie nagłówki:
[php:1:100f869b54] header('Content-Type: application/force-download'); header('Content-Type: application/octet-stream'); header('Content-Type: application/download'); header('Content-Disposition: attachment; filename=' . $nazwa_pliku); header('Content-Transfer-Encoding: binary'); header('Content-Length: ' . strlen($zawartosc_pliku)); echo $zawartosc_pliku; [/php:1:100f869b54] nie do konca tak, gdyz czesto pliki sa z binarna zawartoscia, wiec zamiast strlen() uzylbym filesize() i zamiast echo $zawartosc_pliku uzylbym funkcji readfile() a poza tym wypadaloby jeszcze wyslac Content-type wysylanego pliku Cytat Hmmm... niestety takie nagłowki są nieskuteczne przy dużych plikach, bo wczytywanie zawartości z nich zajmuje php wieki.
Czasami tak sie nie da (pobieranie zalacznikow poczty elektronicznej) gdy nie ma regularnych plikow Cytat Co mnie bardzo zdziwiło, w IE 6.0 pojawia sie normalny monit pobierania.
IE to nie jest przegladarka (a narzedzie do wykonywania windowsupdate) - wiec nie dziwi mnie kazda jej odkryta ulomnosc |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.09.2025 - 09:19 |