Valid XHTML     Valid CSS2    

Listing du fichier emarge_rtf.php

 

00001     <?php
00002     
00003     # liste d'émargement RTF (Word) à partir d'un fichier texte
00004     # au format prénom(s) ; nom(s)
00005     
00006     # aide éventuelle
00007     
00008     if (!isset(
$argv[1])) {
00009     
00010        echo "Syntaxe : php emarge_rtf.php FICHIER \n\n" 
;
00011        echo "Pour plus de détails sur le format du fichier d'entrée, consulter :\n\n" 
;
00012        echo "   http://forge.info.univ-angers.fr/~gh/Pagsd/pagsd3.php?solutions=1#tdm3\n" 
;
00013        echo "\n" 
;
00014        exit(-1
) ;
00015     
00016     } ; # fin si
00017     
00018     # vérification de l'existence du fichier
00019     
00020     $ficEnt 
$argv[1] ;
00021     $ficSor 
"emarge_php.rtf" ;
00022     
00023     if (!file_exists
($ficEnt)) {
00024     
00025       echo "\n" 
;
00026       echo "Fichier 
$ficEnt non vu. STOP.\n" ;
00027       echo "\n" 
;
00028       exit(-2
) ;
00029     
00030     } # fin si
00031     
00032     # traitement du fichier ligne par ligne
00033     
00034     echo 
"\n" ;
00035     echo "Composition de la feuille d'émargement 
$ficSor à partir du fichier d'entrée $ficEnt\n" ;
00036     echo "\n" 
;
00037     
00038     $fhIn  
fopen($ficEnt,"r") ;
00039     $fhOut 
fopen($ficSor,"w") ;
00040     
00041     # on commence par écrire l'entete  RTF
00042     
00043     fputs
($fhOutfile_get_contents("debut_emarge.rtf")) ;
00044     
00045     # pour chaque personne, on écrit dans le tableau
00046     # à partir du modèle dans milieu_emarge.rtf
00047     
00048     $milieu 
file_get_contents("milieu_emarge.rtf") ;
00049     $num    
;
00050     
00051     while ($ligEnt
=fgets($fhIn,4096)) {
00052     
00053       # on ignore les commentaires et les lignes vides
00054       $ligEnt 
trim($ligEnt) ;
00055       if (strlen
($ligEnt)>0) {
00056          if (substr
($ligEnt,0,1) != "#") {
00057             $num
++ ;
00058             $ligSor 
$milieu ;
00059             # on extrait nom et prénom
00060             $tabInfo 
preg_split("/;/",$ligEnt) ;
00061             # conversion du nom en majuscules
00062             $tabInfo
[1] = strtoupper($tabInfo[1]) ;
00063             # on remplace NUM NOM et PRENOM par les bonnes valeurs
00064             $ligSor 
preg_replace("/NUM/",$num,$ligSor) ;
00065             $ligSor 
preg_replace("/PRENOM/",$tabInfo[0],$ligSor) ;
00066             $ligSor 
preg_replace("/NOM/",$tabInfo[1],$ligSor) ;
00067             # on écrit les lignes dans le fichier de sortie
00068             fputs
($fhOut,$ligSor) ;
00069          } ; # fin si sur commentaire
00070       } ; 
# fin si sur ligne vide
00071     
00072     } ; 
# fin tant que
00073     
00074     # on finit par la "queue" de fichier RTF
00075     
00076     fputs
($fhOutfile_get_contents("fin_emarge.rtf")) ;
00077     
00078     fclose
($fhIn) ;
00079     fclose
($fhOut) ;
00080     
00081     echo "Vous pouvez utiliser le fichier 
$ficSor\n" ;
00082     echo "\n" 
;
00083     
00084     ?>

Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.

 

 

retour gH    Retour à la page principale de   (gH)