salut,
j'ai développé un script php qui permet de générer un fichier pdf
ce fichier pdf est rempli par les données récupérés du fichier .csv
c'est à dire ce script php permet de récupérer des données du fichier csv et permet de générer un fichier pdf qui sera rempli par ces données récupérés
normalement ce code va générer deux fichier pdf
le code de ce script est :
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106 <?php session_start(); /** Error reporting */ ini_set('display_errors',1); error_reporting(E_ALL); /** LIBS * */ require_once("./lib/fpdf.php"); require_once("./lib/fpdi.php"); require_once ("./lib/class.phpmailer.php"); include "./lib/PDFMerger.php"; //Fichier CSV à parser //$fichier = '/var/lib/mysql/test/Liste des SMS2.csv'; $fichier = '/home/test/Desktop/testt.csv'; //On vérifie que le fichier existe bien :) $idtype='CIN'; $email=''; $genre=''; $ip_access='127.0.0.1'; $alias=''; if (file_exists($fichier)) { //On l'ouvre en mode "read only" $fp = fopen($fichier, 'r'); //Tant que l'on n'a pas finit de lire le fichier $i=20; while (!feof($fp)){ //On lit les 4096 caractères de la ligne $ligne = fgets($fp,4096); //echo $ligne; /* On met dans un tableau toutes les données, séparées par des points virgules */ $liste = explode(';',$ligne); /* On crée une colonne contenant les données pour chacune d'entre elles en parsant le tableau */ if($liste[0] != "" && $liste[1] != "" && $liste[2] != "" && $liste[3] != "" && $liste[4] != "" && $liste[5] != "" && $liste[6] != "" && $liste[7] != "" && $liste[8] != "") { $today=date("d/m/Y", strtotime($liste[4])); $date_explosee = explode("/", $today); $jour = $date_explosee[0]; $mois = $date_explosee[1]; $annee = $date_explosee[2]; $mobile=urlencode(str_replace("\r\n", "", trim($liste[0]))); $firstname=urlencode(str_replace("\r\n", "", trim($liste[1]))); $lastname=urlencode(str_replace("\r\n", "", trim($liste[2]))); $idcarde=urlencode(str_replace("\r\n", "", trim($liste[3]))); /***** DATA *****/ $pdf = & new FPDI(); $filename1 =generatePdf(1,$i,$liste[0],$liste[1] ,$liste[2],$genre,$jour,$mois,$annee,$idtype,$liste[3],$liste[5],$liste[7],$liste[8],$liste[6] ) ; $pdf = & new FPDI(); $filename2 = generatePdf(2,$i,$liste[0],$liste[1] ,$liste[2],$genre,$jour,$mois,$annee,$idtype,$liste[3],$liste[5],$liste[7],$liste[8],$liste[6] ) ; } $i=$i+1; } } /* * *** Functions **** */ function generatePdf($modelNumber,$i,$tel,$nom ,$prenom,$genre,$date_naissance_jj,$date_naissance_mm,$date_naissance_yyyy,$idtype,$num_carte,$adres,$code_postal,$gouvernorat,$ville ) { $code2 = $i; ........ ........ ......... ....... // Start Download the pdf //$pdf->Output('inscription_'.$code2.'.pdf', 'D'); // Generate the pdf to mail $filename = $dir.'/test_p'.$modelNumber.'_' . $code2. '.pdf'; $pdf->Output($filename, 'F'); return $filename; } ?>
le problème est que ce script génère un seul fichier de genre
test_p1_20.php
et normalement on dois trouver un autre fichier de genre
test_p2_20.php
car on a utilisé ce code dans le script
Code : Sélectionner tout - Visualiser dans une fenêtre à part $filename2 = generatePdf(2,$i,$liste[0],$liste[1] ,$liste[2],$genre,$jour,$mois,$annee,$idtype,$liste[3],$liste[5],$liste[7],$liste[8],$liste[6] ) ;
à mon avis ce code n'a pas été exécuté par le script
autre point
j'ai un fichier nommée condition.php
après la génération de deux fichier par exemple test_p1_20.php et test_p2_20.php
je veux fusionner le contenu de ces deux fichiers et le contenu du fichier condition.php dans un même fichier
j'ai essayé avec ce code
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120 <?php session_start(); /** Error reporting */ ini_set('display_errors',1); error_reporting(E_ALL); /** LIBS * */ require_once("./lib/fpdf.php"); require_once("./lib/fpdi.php"); require_once ("./lib/class.phpmailer.php"); include "./lib/PDFMerger.php"; //Fichier CSV à parser //$fichier = '/var/lib/mysql/test/Liste des SMS2.csv'; $fichier = '/home/test/Desktop/testt.csv'; //On vérifie que le fichier existe bien :) $idtype='CIN'; $email=''; $genre=''; $ip_access='127.0.0.1'; $alias=''; if (file_exists($fichier)) { //On l'ouvre en mode "read only" $fp = fopen($fichier, 'r'); //Tant que l'on n'a pas finit de lire le fichier $i=20; while (!feof($fp)){ //On lit les 4096 caractères de la ligne $ligne = fgets($fp,4096); //echo $ligne; /* On met dans un tableau toutes les données, séparées par des points virgules */ $liste = explode(';',$ligne); /* On crée une colonne contenant les données pour chacune d'entre elles en parsant le tableau */ if($liste[0] != "" && $liste[1] != "" && $liste[2] != "" && $liste[3] != "" && $liste[4] != "" && $liste[5] != "" && $liste[6] != "" && $liste[7] != "" && $liste[8] != "") { $today=date("d/m/Y", strtotime($liste[4])); $date_explosee = explode("/", $today); $jour = $date_explosee[0]; $mois = $date_explosee[1]; $annee = $date_explosee[2]; $mobile=urlencode(str_replace("\r\n", "", trim($liste[0]))); $firstname=urlencode(str_replace("\r\n", "", trim($liste[1]))); $lastname=urlencode(str_replace("\r\n", "", trim($liste[2]))); $idcarde=urlencode(str_replace("\r\n", "", trim($liste[3]))); /***** DATA *****/ $pdf = & new FPDI(); $filename1 =generatePdf(1,$i,$liste[0],$liste[1] ,$liste[2],$genre,$jour,$mois,$annee,$idtype,$liste[3],$liste[5],$liste[7],$liste[8],$liste[6] ) ; $pdf = & new FPDI(); $filename2 = generatePdf(2,$i,$liste[0],$liste[1] ,$liste[2],$genre,$jour,$mois,$annee,$idtype,$liste[3],$liste[5],$liste[7],$liste[8],$liste[6] ) ; // ici le nouveau code $pdf = new PDFMerger; $filename = "./test_'.$i.'.pdf"; $pdf->addPDF("./test_p1_'.$i.'.pdf", "all") ->addPDF("./test_p2_'.$i.'.pdf", "all") ->addPDF("./Condition.pdf", "all") ->merge("file",$filename);[/B] } $i=$i+1; } } /* * *** Functions **** */ function generatePdf($modelNumber,$i,$tel,$nom ,$prenom,$genre,$date_naissance_jj,$date_naissance_mm,$date_naissance_yyyy,$idtype,$num_carte,$adres,$code_postal,$gouvernorat,$ville ) { $code2 = $i; ........ ........ ......... ....... // Start Download the pdf //$pdf->Output('inscription_'.$code2.'.pdf', 'D'); // Generate the pdf to mail $filename = $dir.'/test_p'.$modelNumber.'_' . $code2. '.pdf'; $pdf->Output($filename, 'F'); return $filename; } ?>
merci d'avance
Partager