Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Jak uzyskać efekt 'zapisz element docelowy jako' ?
Forum PHP.pl > Forum > Przedszkole
elmozaur
Witam.
Mam kawałek kodu, który generuje plik wynikowy na serwerze.
Po zakończonym generowaniu chciałbym uzyskać efekt taki jak przeglądarkowy 'zapisz element docelowy jako' (czyli request z możliwością wskazania miejsca zapisu, nazwy pliku itp).

Pogooglalem trochę i znalazłem sporo odpowiedzi typu wysłanie nagłówka i przeczytanie pliku, niestety żadne z wypróbowanych rozwiązań nie działa tak jak bym chciał.
W różnych kombinacjach testowałem nagłówki
  1. header("Cache-Control: public");
  2. header("Content-Description: File Transfer");
  3. header("Content-Disposition: attachment; filename=$file");
  4. header("Content-Transfer-Encoding: binary");
  5. header("Content-Type: binary/octet-stream");
  6. header("Content-type: application/octet-stream");
  7. header('Content-type: text/plain');
  8. header("Content-Type: application/download");
  9. header("Content-Length: " . filesize($tempFileName));
  10. readfile($tempFileName);

Efekt który uzyskuje to raczej 'otwórz' lub 'zapisz' - czyli bez możliwości wskazania nazwy pliku i miejsca docelowego.
Przykłady testuje w środowisku lokalnym na najnowszym FF i Chrome.

Ktoś może coś podpowiedzieć ?
Pyton_000
Zapisz jako to jest funkcja przeglądarkowa. Nie wywołasz takiego efektu w PHP
ohm
Możesz spróbować przez nadanie Content-Type: application/force-download ale ogolnie raczej niepolecane.
miras
Proponuję to zrobić za pomoca .htaccess
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.