Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tworzenie tymczasowego pliku i jego pobranie, Potrzebuje utworzyć plik tymczasowy i ściągnąć go na dysk lokalny
zaajcu
post
Post #1





Grupa: Zarejestrowani
Postów: 206
Pomógł: 3
Dołączył: 18.08.2011
Skąd: Chrzanów

Ostrzeżenie: (0%)
-----


Cześć.

Nie mogę sobie poradzić z stworzeniem pliku tymczasowego a potem umożliwić użytkownikowi jego pobranie.
Chodzi mi o coś takiego ,że gdy user kliknie w link to mu się dynamicznie utworzony pliki pobierze.

Dodam jeszcze bo pewnie ma to znaczenie że wszystko na stronie leci ajax'em, więc po kliknięciu w link leci post coś zwróci a użytkownikowi pojawi się okienko do pobrania pliku (takie jak przy normalnym pobieraniu)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
adbacz
post
Post #2





Grupa: Zarejestrowani
Postów: 532
Pomógł: 24
Dołączył: 15.04.2011
Skąd: Kalisz

Ostrzeżenie: (0%)
-----


Z tego co wiem, to musisz dać przeglądarce do zrozumienia, że to plik pobieralny header("Content-Type: application/force-download");, i nie dawać żadnego jego typu MIME. W tedy przeglądarka uzna, że nie otworzy tego pliku, więc da userowi mozliwość pobrania pliku. Ja u siebie mam cos takiego i działa, bez względu na to jaki to plik:

  1. $name = basename($path);
  2.  
  3. $size = filesize($path);
  4.  
  5. header( 'Pragma: public' );
  6. header( 'Pragma: no-cache' );
  7. header( 'Expires: 0' );
  8. header( 'Cache-Control: must-revalidate, post-check=0, pre-check=0' );
  9. header( 'Cache-Control: public ');
  10. header( 'Content-Description: File Transfer' );
  11.  
  12. header( 'Content-Type: application/force-download' );
  13.  
  14. header( 'Content-Disposition: attachment; filename=\"'.$name.'\"' );
  15. header( 'Content-Disposition: attachment; filename='.$name );
  16.  
  17. header( 'Content-Transfer-Encoding: binary' );
  18. header( 'Content-Length: '.$size );
  19.  
  20. readfile($path);
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 21:35