Bonjour,

Je met ici un code illustrant mon PB actuel.

Le BUT:
Récupérer une chaine de caractères extraite d'un fichier texte de configuration (param.conf), contenant éventuellement des "\n" indiquant des sauts de lignes. Ce texte (avec ses "\n") doit être transmis à un script PHP Objet (une classe dérivée de FPDF en fait) afin que celui celui-ci les interprête (=génère des sauts de lignes sur le PDF) .

Or visiblement, je perds l'information comme quoi la chaine de caractères doit être analysée (c'est-à-dire comme ci elle était entre double quote, Cf. la version qui fonctionne dans le code de la méthode affiche() ).
Cela sans doute lors de la valorisation du membre $PAR de mon objet (méthode chargeConf() ).

Si vous pouviez me donner un coup de pouce... parce que là je craque un peu.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 
<?php
 
define('FPDF_FONTPATH','../fpdf/font/');
require('../fpdf/fpdf.php');
 
//------------------------------------------- Ma classe dérivée de FPDF
class Obj extends FPDF {
 
    var $PAR;
    var $PAR2;
 
    function chargeConf($tablo)
    {
        while(list($key,$value) = each($tablo)) {
            switch($key) {
            case 'PARAM':
                $this->PAR = $value;
                break;
            case 'PARAM2':
                $this->PAR2 = trim($value, '"');
                break;
            default:
                // ....
                break;
            }
        }
    }
 
    function affiche() {
        $this->SetFont('Arial','B',9);
 
        //************ Les 2 lignes suivantes fonctionnent ('/n' interprété) : **************
        //************************************************************************
        $maChaine="texte quelconque\navec saut de ligne";
        $this->MultiCell(50, 4, $maChaine, 1, 'L', 0);   //methode héritée de FPDF
 
        //************ La ligne suivante NE fonctionne PAS ('/n' NON interprété) : **************
        //*****************************************************************************
        $this->MultiCell(50, 4, $this->PAR, 1, 'L', 0);   //methode héritée de FPDF
    }
 
}
 
 
//-------------------------------------------  Le script lui même
$config_file = "./param.conf";
$fp = fopen($config_file, "r");
 
while (!feof($fp)) {
  $line = trim(fgets($fp, 1024));
  if ($line) {
    $pieces = explode("=", $line);
    $option = trim($pieces[0]);
    $value = trim(trim($pieces[1]), '"');
    //DEBUG $value = trim($pieces[1]);
    $tab[$option] = $value;
  }
}
fclose($fp);
 
$monObj = new Obj;
$monObj->chargeConf($tab);
$monObj->Open();        //methode héritée de FPDF
$monObj->AddPage();    //methode héritée de FPDF
$monObj->affiche();    //*** Cf le code de cette méthode + haut : c'est là qu'il y a un PB
$monObj->Output();    //methode héritée de FPDF
 
?>