Aller au contenu

petit problème sous php.


titou83

Messages recommandés

j'ai un problème pour afficher un fichier pdf créé sous PHP

j'utilise les variables de session.

si je mets l'instruction "session start()" le fichier crée ne s'ouvre pas .. par contre sans cette instruction le fichier s'ouvre bien dans l'explorer..

<?php

session_start();

.......

.......

.......

.......

$taille = filesize($nomFichier);

header("Content-type: application/pdf");

header("Content-Length: $taille");

header("Content-Disposition: inline; filename=test.pdf");

readfile($nomFichier);

?>

il doit y avoir un conflit entre les deux... comment la contourner ??

Merci !

Lien vers le commentaire
Partager sur d’autres sites

j'ai la solution... bon je génére le pdf avec les class "ezpdf"... l'important est de faire les choses dans l'ordre...

d'abord dire que c'est du pdf :

include("class.ezpdf.php");

$pdf=new Cezpdf();

puis rechercher les données session :

session_start();

$val=$_SESSION["valeur"];

puis tous autres opérations (ne surtout pas inclure autre chose avant)

$pdf->selectFont('Helvetica.afm');

$pdf->addText(150,150,10,"$val");

$pdf->ezStream();

Lien vers le commentaire
Partager sur d’autres sites

par contre, j'ai un nouveau problème...

ce fichier session + pdf je voulais le lancer à partir d'un script javascript... et le fichier est corrompu... alors que si je le lance à partir d'une balise <a>, cela fonctionne...

quelle est la différence entre :

print("<script> window.open('session_pdf.php','_blank');</script>");

et

print("<a href=session_pdf.php target=_blank>Lien</a>");

merci de m'aider...

Lien vers le commentaire
Partager sur d’autres sites

j'ai contourner le prob en le faisant en deux etapes..

à la fin de la création du pdf j'ai simplement

header('location : nompagesuivante.php');

et dans la page suivante juste pour afficher

<?php

//session_start();

$tmp=ini_get("session.save_path");

$nf="$tmp/dossier.pdf";

echo $nf;

$taille = filesize($nf);

header("Content-type: application/pdf");

header("Content-Length: $taille");

header("Content-Disposition: inline; filename=dossier.pdf");

readfile($nf);

?>

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...