Oto przykład odesłania pliku pdf.
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="' . basename($filename) . '"');
header('Content-Transfer-Encoding: binary');
readfile($filename);
@Swish Nie mogę znaleźć aplikacji/force-download typ zawartości do niczego innego (przetestowane w IE i Firefox). Czy istnieje powód, aby nie odsyłać rzeczywistego typu MIME?
Również w podręczniku PHP Hayley Watson Wysłany:
Jeśli chcesz wymusić plik zostać pobrany i zapisany, zamiast być renderowane, pamiętaj, że nie ma takiego typu MIME jako „application/utwardzana w podwyŜszonej pobieranie". Prawidłowy typ do zastosowania w tej sytuacji to "application/octet-stream", a użycie czegokolwiek innego polega jedynie na tym, że klienci powinni ignorować nierozpoznane typy MIME i zamiast tego używać "application/octet-stream" (odnośnik: sekcje 4.1.4 i 4.5.1 RFC 2046).
Również zgodnie z IANA nie ma zarejestrowanego typu aplikacji/force-download.
Nie jestem do końca pewien, dlaczego, ponieważ jest to dla mnie nowość, ale ten skrypt działał poprawnie tylko wtedy, gdy miałem linię długości treści. – sehummel