Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z wysyłaniem dokumentu .pdf do przeglądarki
Forum PHP.pl > Forum > PHP > Object-oriented programming
emiltukan
Posiadam napisany kod, który wysyła dokument .pdf do przeglądarki. Dokumenty podzielone zostały na trzy grupy: darmowe, dla zarejestrowanych oraz dla abonentów. W dwóch ostatnich przypadkach przed wysłaniem dokumentu do przeglądarki system sprawdza, czy użytkownik posiada prawa do pobrania tego dokumentu. Skrypt wysyłający dokument do przeglądarki wygląda tak:

CODE

$this->_helper->layout->disableLayout();
$pa = $path.$nazwa;
$pdf = Zend_Pdf::load($pa);
$pdfData=$pdf->render();
header("Content-Disposition: inline; filename=".$nazwa);
if(isset($_SERVER['HTTP_USER_AGENT']) AND (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') == true)){
header('Content-type: application/pdf');
} else {
header("Content-type: application/x-pdf");
}

echo $pdfData;


Sktypt działa w Zend Framework. System wykrywa rodzaj przeglądarki i w zależności od niej wyświetla dokument.

U siebie nie wykryłem problemu z działaniem skryptu ponieważ działa poprawnie, ale w systemie znajduje się 7000 użytkowników i otrzymuję wiadomości, że są jakieś problemy z pobieraniem dokumentów i zamiast nich pojawiają się krzaczki. Kilka osób miało przestarzałe przeglądarki i wystarczyło je aktualizować, ale ostatnio pojawił się ten sam problem u osoby z IE7, a u mnie na IE7 działa dobrze. Nie mam pomysłu, co może powodować takie sporadyczne problemy. Proszę o wskazówkę.
plurr
Być może skrypt się wcześniej wysypuje, dlatego header nic nie zwraca - zobacz errorloga.
Sam tworze system dla DTP i opieram się na bibliotece TCPDF. Zrezygnowałem z Zendowskiego z powodu ilości błędów i niedoróbek. Klasa jest jeszcze zbyt 'słaba' aby korzystać z niej dla DTP.
emiltukan
Być może jest to problem klasy Zenda, więc ją wyrzucę i zobaczymy, czy będę otrzymywał informację od użytkowników. Sam tego niestety nie sprawdzę, bo nie jestem w stanie odtworzyć tego błędu, a analiza nagłówków nic nie daje bo wszystko wydaje się być poprawne.

Przejrzałem error logi i czasem pojawiają się błędy cgi. Wygląda na to, że skrypty się nie wyrabiają. Być może jest to wynikiem przeciążenia serwera. W serwisie jest masę plików do pobrania, a system działa na hostingu dzielonym nazwa.pl. Być może zbyt dużo osób pobiera pliki i stąd te problemy.
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.