header i pobieranie plików PDF ze strony

Wszystko o językach skryptowych takich jak PHP i Perl, serwerach WWW, CGI, bazach danych i języku SQL.
it-learn
Posty: 1
Rejestracja: 23 maja 2015, 11:04:51
Płeć: Niewybrana
User Agent: Chrome Windows

header i pobieranie plików PDF ze strony

Post autor: it-learn »

Witam serdecznie.
Na swojej stronie umieszczam pliki pdf, które użytkownik może pobrać. Zastosowałem tutaj header, gdyż inaczej po prostu przeglądarka otwierała plik pdf. Problem polega na tym, że po pobraniu pliku pdf na komputer niemożliwe jest jego otworzenie. Funkcja pobierająca wygląda następująco:

Kod: Zaznacz cały

function download_file($file){

header("Content-Type: application/x-download");

header("Content-Disposition: attachment; filename=" . $file);

readfile($file);
}
 
Natomiast po uruchomieniu pliku na komputerze (czy to w programie, czy to przez przeglądarkę) mam napis : Nie można wczytać dokumentu PDF (Google Chrome), bądź Format Error: Not a PDF or corrupted (Foxit Reader).

Po edycji zapisanego pliku przez Notepad++ zauważyłem, że znajduje się w nim plik php (top.php) który używam przez funkcję requied_once w każdej z podstron (plik top.php to pasek u góry strony, który jest stały).

Ktoś wie, co z tym fantem zrobic? Z góry dziękuję za pomoc .
po22
Posty: 404
Rejestracja: 02 sty 2015, 14:57:43
Płeć: Niewybrana
User Agent: Firefox Linux 1143x858

Re: header i pobieranie plików PDF ze strony

Post autor: po22 »

Przykładowe rozwiązanie tego problemu to ustawienie w pliku .htaccess:

Kod: Zaznacz cały

<FilesMatch "\.(?i:pdf)$">
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</FilesMatch> 
Więcej pomysłów można znaleźć na stronie http://stackoverflow.com/questions/3802 ... df-in-html
Czy wiesz, że:
  • W Panelu CBA w sekcji "wsparcie" jest dedykowany system ticketów (obsługi technicznej)
  • Odpowiadamy na Forum oraz na adres mailowy obsluga(malpa)cba.pl
  • Jesteśmy również na Facebooku! Znajdź nas na facebook.com/hostingcba | cba.pl
W czym jeszcze możemy pomóc?
ODPOWIEDZ