Bonjour,

Voila je rencontre un petit problème sur serveur distant (OVH)

En local tout fonctionne bien

Ce que je fais


View/Pdf/create_pdf

<?php
App::import('Vendor','xtcpdf');
$pdf = new XTCPDF('P', PDF_UNIT, 'A4', true, 'UTF-8', false);
$pdf->AddPage();
ob_start();?>

<span>texte de test</span>
<?php $html = ob_get_clean();
$pdf->writeHTML($html, true, false, true, false, '');
$pdf->lastPage();
echo $pdf->Output(APP . 'webroot' . DS . 'files' . DS . 'pdf' . DS . 'test.pdf', 'F');
?>

Controller/PdfController

<?php
class PdfController extends AppController{

    function create_pdf(){
        $this->layout = 'pdf';
        $this->render();
        return $this->redirect('/files/pdf/test.pdf');
    }
}

View/layout/pdf

<?php
header("Content-type: application/pdf");
echo $content_for_layout;
?>

Fichier dans vendor:
Vendor/xtcpdf

<?php
App::import('Vendor','tcpdf/tcpdf');
class XTCPDF extends TCPDF{
}
?>

Ce que j'obtiens

En local tout fonctionne bien mais sur serveur distant (OVH)
je me trouve devant une page blanche avec cette erreur

Warning (2): Cannot modify header information - headers already sent by (output started at /home/gouttradjl/www/app/View/Helper/TempsHelper.php:6) [APP/View/Layouts/pdf.ctp, line 2]

2 réponses


Just4Fun
Réponse acceptée

Salut, Grafikart a fait une vidéo la dessus, si ça peut t'aider : [https://www.grafikart.fr/formations/deboguer-code-php/headers-already-sent]

Probleme regler!
Merci beaucoup!!

Le probleme était, comme grafikart le dit dans la vidéo, un espace / saut de ligne sur un fichier: View/Helper/

^^