Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobieranie PDFów
Forum PHP.pl > Forum > PHP
DNMX
Przeniosłem stronę z VPSa na VPSa i nie działa pobieraie plików .PDF. Odpowiada za to taki kod:
  1. header('Content-Description: File Transfer');.
  2. header('Content-Type: application/octet-stream');.
  3. header('Content-Disposition: attachment; filename="'.$c["filename"].'"');
  4. header('Content-Transfer-Encoding: binary');.
  5. header('Expires: 0');.
  6. header('Cache-Control: must-revalidate, post-check=0, pre-check=0');.
  7. header('Pragma: public');.
  8. header('Content-Length: ' . filesize("/var/www/".$c['hash'].".pdf"));
  9. header("Content-Type: application/pdf");
  10. readfile("/var/www/".$c['hash'].".pdf");

Zamiast prośby o zapisanie pliku pojawia się zawartośc PDFa (textowa) w oknie przeglądarki. Dodatek HTTP Headers Life do Firefoxa informuje mnie o takim nagłówku:
Cytat
Date: Mon, 04 Oct 2021 10:13:42 GMT
Server: Apache
Vary: Accept-Encoding
Content-Encoding: gzip
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8

Coś robię źle czy trzba było coś zmieniać w konfiguracji Apache2 żeby to działo? Przynzam się bez bicia, że stronę na pierwszym VPSie stawiałem lata temu i już nie pamiętam
nospor
eader('Content-Disposition: attachment; filename="'.$c["filename"].'"');

Brak H to literowka czy naprawde tak masz?
DNMX
Literówka, kopiowałem na forum w dwóch częściach kod i dlatego
nospor
wyglada jakby szlo jeszcze cos przed naglowkami, np BOM.
wlacz wyswietalnie/logowanie wszystkich bledow a potem sprawdz logi
DNMX
Jedyne co log mówi
Kod
[Mon Oct 04 13:09:39.019555 2021] [php7:warn] [pid 21476] [client 127.0.0.1:50918] PHP Warning:  Cannot modify header information - headers already sent in /var/www/confirm.php on line 103
[Mon Oct 04 13:09:39.019577 2021] [php7:warn] [pid 21476] [client 127.0.0.1:50918] PHP Warning:  Cannot modify header information - headers already sent in /var/www/confirm.php on line 104
[Mon Oct 04 13:09:39.019594 2021] [php7:warn] [pid 21476] [client 127.0.0.1:50918] PHP Warning:  Cannot modify header information - headers already sent in /var/www/confirm.php on line 105
[Mon Oct 04 13:09:39.019612 2021] [php7:warn] [pid 21476] [client 127.0.0.1:50918] PHP Warning:  Cannot modify header information - headers already sent in /var/www/confirm.php on line 106
[Mon Oct 04 13:09:39.019626 2021] [php7:warn] [pid 21476] [client 127.0.0.1:50918] PHP Warning:  Cannot modify header information - headers already sent in /var/www/confirm.php on line 107
[Mon Oct 04 13:09:39.019713 2021] [php7:warn] [pid 21476] [client 127.0.0.1:50918] PHP Warning:  Cannot modify header information - headers already sent in /var/www/confirm.php on line 108
[Mon Oct 04 13:09:39.019768 2021] [php7:warn] [pid 21476] [client 127.0.0.1:50918] PHP Warning:  Cannot modify header information - headers already sent in /var/www/confirm.php on line 109
[Mon Oct 04 13:09:39.019785 2021] [php7:warn] [pid 21476] [client 127.0.0.1:50918] PHP Warning:  Cannot modify header information - headers already sent in /var/www/confirm.php on line 110

Linie 103-110 to właśnie te, któ©e podałem w poprzednim poście.

Teraz dopiero zauważyłem, że na poprzednim VPSie był nginx a tu jest Apache2. Tylko jaki to ma wpływ?
nospor
Blad mowi dokladnie to co napisalem. Slesz wczesniej cos przed naglowkami, prawdopodbnie BOM. Temu ci sie sypie.
Albo wywal ten BOM z plikow, ale ustawi globalne buforowanie. Sugerowalbym jednak zrobic to pierwsze wink.gif
DNMX
Czytałem o tym BOM i widziałem przykłady jak się pozbyć tych znaków UTF na przykładzie najpopularniejszych edytorów (Eclipse, Notepad++) Ja swoją stronkę stworzyłem na Debianie w mcedit. Nie znalazłem przykładu dla tego edytora. Czy mógłby mnie ktoś nakierować?

Siedze nad tym juz jakis czas i nie moge dojsc co to. Plik PDF generuje skrypt genpdf.php. Na początku mam include("functions.inc.php); W functions.inc.php odwołuję się jeszcze do config.php. Gdzie szukać, który plik daje ten BOM lub jakikolwiek inny output?
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-2024 Invision Power Services, Inc.