Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Generowanie pdf-ów
Forum PHP.pl > Forum > Przedszkole
kaflo
Warning: Cannot modify header information - headers already sent by (output started at /home/c/ce-www/public_html/serwis/index.php:10) in /home/c/ce-www/public_html/serwis/fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can't send PDF file

Po wygenerowaniu pliku zwracany jest powyższy błąd. Podejrzewam że wynika to z ustawień serwera wie ktoś może jak sobie poradzić z tym problemem?
phpion
Idac po najmniejszej linii oporu to wstaw na-samym-poczatku pliku:
  1. <?php
  2. ?>
kaflo
Za bardzo nie pomoglo!! Jakieś inne propozycje?
erix
Cytat
Warning: Cannot modify header information - headers already sent by (output started at /home/c/ce-www/public_html/serwis/index.php:10)

A w tej 10. linii jest...?
kaflo
<meta http-equiv="Content-Language" content="pl">

to jest w 10 linii pliku index.php ma to jakieś znaczenie?

Nawet jak to usunąłem to nic nie dało. Problem leży po stronie konfigugarcji serwera tylko ja nie mogę nic z tym zrobić bo usługę mam wykupioną u dostawcy ale może można jakoś to obejść

dla ścisłości w linii 1023 pliku fpdf.php jest
  1. <?php
  2. header('Content-Type: application/pdf');
  3. ?>
erix
Nie o to chodzi. Na tym forum było już wałkowane dziesiątki, setki razy, że przed header" title="Zobacz w manualu PHP" target="_manual i setcookie" title="Zobacz w manualu PHP" target="_manual nie może być wysłana żadna, ale to ŻADNA treść, nawet spacja czy znak nowej linii.

Sprawdź w plikach, bo listingu dłuższego nie dałeś.
kaflo
no ale plik fpdf.php jest gotowy i nic w nim nie mieszalem. Po prostu pobrałem go ze strony fpdf.org i już.
  1. <?php
  2. switch($dest)
  3. {
  4. case 'I':
  5. //Send to standard output
  6. $this->Error('Some data has already been output, can't send PDF file');
  7. if(php_sapi_name()!='cli')
  8. {
  9. [b]//We send to a browser
  10. header('Content-Type: application/pdf');
  11. if(headers_sent())
  12. $this->Error('Some data has already been output to browser, can't send PDF file');
  13. [/b] header('Content-Length: '.strlen($this->buffer));
  14. header('Content-disposition: inline; filename="'.$name.'"');
  15. }
  16. echo $this->buffer;
  17. break;
  18. ?>
erix
Ale surowym plikiem fpdf.php niczego nie wygenerujesz. Mam na myśli index.php.
kaflo
Zwraca taki komunikat błędu:
Warning: Cannot modify header information - headers already sent by (output started at /home/c/ce-www/public_html/serwis/komunikat.php:8) in /home/c/ce-www/public_html/serwis/fpdf.php on line 1023
FPDF error: Some data has already been output to browser, can't send PDF file
Z pliku komunikat.php o kodzie źródłowym:
  1. <html>
  2. <head>
  3. <title>Próba</title></head>
  4. <body>
  5.  
  6.  
  7.  
  8. <?php
  9. require('fpdf.php');
  10.  
  11. $pdf=new FPDF();
  12. $pdf->AddPage();
  13. $pdf->SetFont('Arial','B',16);
  14. $pdf->Cell(40,10,'Hello World!');
  15. $pdf->Output();
  16.  
  17. ?>
  18.  
  19. </body></htm>
erix
Przeczytaj mojego przedostatniego posta jeszcze raz i odnieś to do:
Cytat
Kod
<html>
<head>
<title>Próba</title></head>
<body>



<?php
ob_start();

znajdującym się na początku indeksa.
kaflo
teraz jest tak:
  1. <html><head><title>Próba</title></head>
  2. <body>
  3. <?php
  4. require('fpdf.php');
  5.  
  6. $pdf=new FPDF();
  7. $pdf->AddPage();
  8. $pdf->SetFont('Arial','B',16);
  9. $pdf->Cell(40,10,'Hello World!');
  10. $pdf->output();
  11. ?>
  12.  
  13. </body></htm>

Teraz jest dobrze poprawione?
a komunikat taki:
Warning: Cannot modify header information - headers already sent by (output started at /home/c/cetnar-www/public_html/serwis/komunikat.php:3) in /home/c/cetnar-www/public_html/serwis/fpdf.php on line 1023
FPDF error: Some data has already been output to browser, can't send PDF file



a jak przekazywać zmienne dynamiczne z formularza do pdf?
erix
Cytuję siebie:
Cytat(erix @ 11.03.2007, 22:12:18 ) *
Nie o to chodzi. Na tym forum było już wałkowane dziesiątki, setki razy, że przed header" title="Zobacz w manualu PHP" target="_manual i setcookie" title="Zobacz w manualu PHP" target="_manual nie może być wysłana żadna, ale to ŻADNA treść, nawet spacja czy znak nowej linii.

Sprawdź w plikach, bo listingu dłuższego nie dałeś.

Czy napisałem niewyraźnie?
U Ciebie jest kod wysyłany do przeglądarki (podpowiem: to przed ob_start" title="Zobacz w manualu PHP" target="_manual. Skoro się upierasz przy jego stosowaniu, to walnij go na początku, a nie gdzieś w środku) przed wysłaniem nagłówków.
phpion
Ja tez zacytuje siebie:
Cytat(phpion.com @ 11.03.2007, 17:15:02 ) *
Idac po najmniejszej linii oporu to wstaw na-samym-poczatku pliku:
  1. <?php
  2. ?>
kleszczoscisk
  1. <?
  2. require('fpdf.php');
  3. ?>
  4. <html>
  5. <head>
  6. <title>Próba</title>
  7. </head>
  8. <body>
  9. <?php
  10. $pdf=new FPDF();
  11. $pdf->AddPage();
  12. $pdf->SetFont('Arial','B',16);
  13. $pdf->Cell(40,10,'Hello World!');
  14. $pdf->output();
  15. ?>
  16. </body></html>


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.