Na pewno nie raz się zdarzyło, że chcieliśmy aby użytkownik mógł pobrać plik video, obrazek, muzyke, flash bez przeglądania go, ponieważ nie które przeglądarki w takich wypadkach odpalają swoje programy. Z pomoca tutaj przyjdą nam nagłówki wysyłane przez serwer http.
Wysyłanie są one podczas żądania strony przez przeglądarke oraz w odpowiedzi serwera. Służą one do przekazywania typu danych jakie obsługuje do przeglądarka, kodowania oraz innych parametrów. Dziś zajmiemy się "magicznym" nagłówkiem Content-disposition. Za przykład posłuży nam obrazek png.
Nagłówek ten przekazany z serwera mówi przeglądarce w jaki sposób ma się zachować podczas odbierania pliku. Domyślnie jest to otwarcie ale możemy to zmienić. Wystarczy przed plikiem ustawić jego wartość na attachment; filename=nazwa_pliku
<?php
header('Content-disposition: attachment; filename=obrazek.png');
header('Content-type: image/png');
readfile('obrazek.png');
?>Warning: Cannot modify header information - headers already sent by (output started at /www/obrazek.php:1) in /www/obrazek.php on line 3 i dokument będzie miał typ 'text/plain'.Odpalamy w przeglądarce nasz przykład ścieżką http://localhost/obrazek.php . Nie musi on posiadać rozszerzenia png, ponieważ jak pisałem nazwa pliku zostanie zasugerowana pierwszym nagłówkiem, a typ jego drugim. W odpowiedzi otworzy nam się okienko pobrania pliku.
Dodaj nową odpowiedź