Listing du fichier emarge_csv.php
00001 <?php
00002 # # (gH) -_- emarge_csv.php ; TimeStamp (unix) : 04 Mars 2016 vers 16:44
00003
00004 # liste d'émargement CSV (Excel) à partir d'un fichier texte
00005 # au format prénom(s) ; nom(s)
00006
00007 # aide éventuelle
00008
00009 if (!isset($argv[1])) {
00010
00011 echo "Syntaxe : php emarge_csv.php FICHIER \n\n" ;
00012 echo "Pour plus de détails sur le format du fichier d'entrée, consulter :\n\n" ;
00013 echo " http://forge.info.univ-angers.fr/~gh/Pagsd/pagsd3.php?solutions=1#tdm2\n" ;
00014 echo "\n" ;
00015 exit(-1) ;
00016
00017 } ; # fin si
00018
00019 # vérification de l'existence du fichier
00020
00021 $ficEnt = $argv[1] ;
00022 $ficSor = "emarge_php.csv" ;
00023
00024 if (!file_exists($ficEnt)) {
00025
00026 echo "\n" ;
00027 echo "Fichier $ficEnt non vu. STOP.\n" ;
00028 echo "\n" ;
00029 exit(-2) ;
00030
00031 } # fin si
00032
00033 # traitement du fichier ligne par ligne
00034
00035 echo "\n" ;
00036 echo "Composition de la feuille d'émargement $ficSor à partir du fichier d'entrée $ficEnt\n" ;
00037 echo "\n" ;
00038
00039 $fhIn = fopen($ficEnt,"r") ;
00040 $fhOut = fopen($ficSor,"w") ;
00041
00042 # on commence par écrire la ligne des entetes
00043
00044 $ligSor = " NOM , Prénom , Signature \n" ;
00045 fputs($fhOut,$ligSor) ;
00046
00047 while ($ligEnt=fgets($fhIn,4096)) {
00048
00049 # on ignore les commentaires et les lignes vides
00050 $ligEnt = trim($ligEnt) ;
00051 if (strlen($ligEnt)>0) {
00052 if (substr($ligEnt,0,1) != "#") {
00053 $ligSor = "" ;
00054 # on inverse nom et prénom et on convertit nom en majuscules
00055 $tabInfo = preg_split("/;/",$ligEnt) ;
00056 $ligSor .= strtoupper($tabInfo[1])." , ".$tabInfo[0] ;
00057 # on écrit la ligne dans le fichier de sortie
00058 $ligSor .= " , \n" ;
00059 fputs($fhOut,$ligSor) ;
00060 } ; # fin si sur commentaire
00061 } ; # fin si sur ligne vide
00062
00063 } ; # fin tant que
00064
00065 fclose($fhIn) ;
00066 fclose($fhOut) ;
00067
00068 echo "Vous pouvez utiliser le fichier $ficSor\n" ;
00069 echo "\n" ;
00070
00071 ?>
Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.
Retour à la page principale de (gH)