Listing du fichier l2aprog11.php avec syntaxhighlighter
<?php # (gH) -_- l2aprog04.php ; TimeStamp (unix) : 07 Mars 2013 vers 17:58 error_reporting(E_ALL | E_NOTICE | E_STRICT ) ; ########################################################################### # # # exemple de programme php pour le cours Développement Web Avancé en L2 # # # ########################################################################### # # # # # Gestion de ficher-Excel fourni par formulaire # # # # # ########################################################################### # lecture d'un fichier Excel à l'aide de excel_reader2_ghv3.php # adapté du Google-code : # # http://code.google.com/p/php-excel-reader/ # # Voir http://forge.info.univ-angers.fr/~gh/Idas/Ccd/mcps/ # comme exemple d'utilisation $dbgLecXls = 0 ; # 0 en normal, 1 pour debug if ($dbgLec == 1) { $dbgLecXls = 1 ; } ; $errXls = 0 ; $tmpfile = tempnam("/tmp","mcpsdata") ; # il faut vérifier que le fichier existe, # que c'est un document XLS avec les bonnes infos $xlsfile = $_FILES["dataxls"]["tmp_name"] ; if ($dbgLecXls == 1) { pre() ; echo " xls : $xlsfile \n" ; } ; # fin si if (file_exists($xlsfile)) { #$contenuXML = file_get_contents($xmlfile) ; # echo htmlentities($contenuXML) ; if ($dbgLecXls == 1) { echo " vu !\n" ; } ; # fin si } else { if ($dbgLecXls == 1) { echo " pas vu \n" ; } ; # fin si $errXls++ ; } ; # fin si if ($dbgLecXls == 1) { finpre() ; } ; # fin si if ($errXls>0) { return(array($xmlfile,$nbg,$nbe,$nbc,$tGrp,$tCol,$tLig,$g2Gname,$c2Cname)) ; } ; # finsi try { $mcpsXls = new Spreadsheet_Excel_Reader($xlsfile) ; } catch (Exception $err) { } # fin de cath # mode DDEBUG : # pre() ; # print_r($mcpsXls) ; # finpre() ; $nfData = getSheetIndex($mcpsXls,"Data") ; if (($nfData<0) or (strlen(trim($nfData))==0)) { $errXls++ ; if ($lng=="fr") { h2("Feuille/Onglet nommée \"Data\" non vu dans votre fichier Excel.","grouge") ; } else { h2("Sheet named \"Data\" not found in your Excel file.","grouge") ; } ; # finsi } else { if ($dbgLecXls == 1) { h2("Feuille/Onglet \"Data\" vu en position $nfData","gvert") ; } ; # fin si } ; # fin si $nfGroup = "" ; $nfGroup1 = getSheetIndex($mcpsXls,"Groups") ; $nfGroup2 = getSheetIndex($mcpsXls,"Groupes") ; if ($nfGroup1) { $nfGroup = $nfGroup1 ; } ; if ($nfGroup2) { $nfGroup = $nfGroup2 ; } ; if (($nfGroup<0) or (strlen(trim($nfGroup))==0)) { $errXls++ ; if ($lng=="fr") { h2("Feuille/Onglet nommée \"Groupes\" ou \"Groups\" non vu dans votre fichier Excel.","grouge") ; } else { h2("Sheet named \"Groupes\" ou \"Groups\" not found in your Excel file.","grouge") ; } ; # finsi } else { if ($dbgLecXls == 1) { h2("Feuille/Onglet \"Groupes\" ou \"Groups\" vu en position $nfGroup","gvert") ; } ; # fin si } ; # fin si if ($errXls>0) { return(array($xmlfile,$nbg,$nbe,$nbc,$tGrp,$tCol,$tLig,$g2Gname,$c2Cname)) ; } ; # finsi if ($dbgLecXls == 1) { pre("cadre") ; echo " == onglet Groupes index $nfGroup \n" ; print_r($mcpsXls -> boundsheets[$nfData]) ; } ; # fin si ## echo " clé $key valeur ".$item['name']." \n" ; $outs = array(); $sheet = $nfGroup ; for($row=1; $row<=$mcpsXls->rowcount($sheet); $row++) { $outs_inner = array(); for($col=1; $col<=$mcpsXls->colcount($sheet); $col++) { // Account for Rowspans/Colspans $rowspan = $mcpsXls->rowspan($row, $col, $sheet); $colspan = $mcpsXls->colspan($row, $col, $sheet); for($i=0; $i<$rowspan; $i++) { for($j=0; $j<$colspan; $j++) { $mcpsXls->sheets[$sheet]['cellsInfo'][$row+$i][$col+$j]['dontprint']=0; if ($i>0 || $j>0) { $mcpsXls->sheets[$sheet]['cellsInfo'][$row+$i][$col+$j]['dontprint']=1; } } } # fin pour chaque ligne #if (isset($mcpsXls->sheets[$sheet]['cellsInfo'][$row][$col]['dontprint'])) { if (!$mcpsXls->sheets[$sheet]['cellsInfo'][$row][$col]['dontprint']) { $val = $mcpsXls->val($row, $col, $sheet); $val = ($val=='')?'':addslashes(htmlentities($val)); $outs_inner[] = "\"{$val}\""; # Quote or not? #$outs_inner[] = $val; } #} } ; # fin pour chaque colonne $outs[] = implode(',', $outs_inner); } ; # fin pour chaque ligne $out = implode("\r\n", $outs); # print_r($out) ; $outTab = preg_split("/\n/",$out) ; # print_r($outTab) ; $tGrp = array() ; $g2Gname = array() ; $nbl = count($outTab) ; for ($idl=0;$idl<$nbl;$idl++) { # echo " ligne $idl \n" ; $ligTab = preg_split("/,/",$outTab[$idl]) ; $nbe = count($ligTab) ; $numG = trim(strtr($ligTab[0],'"',' ')) ; # echo " en position 0 on a $numG \n" ; if (is_numeric($numG)) { $valGrp = "" ; for ($ide=1;$ide<$nbe;$ide++) { $eltG = trim(strtr($ligTab[$ide],'"',' ')) ; $eltG = preg_replace("/\s+/","_",trim(strtr($ligTab[$ide],'"',' '))) ; $valGrp .= trim(strtr($eltG,"\n"," "))." " ; } ; # fin pour chaque élément dans la ligne $nomGxls = "g$numG" ; $tGrp[$numG] = $nomGxls ; $g2Gname[$nomGxls] = $valGrp ; } ; # fin si } ; # fin pour chaque ligne if ($dbgLecXls == 1) { echo " -- tGrp est : \n" ; print_r($tGrp) ; } ; # fin si $nbg = $numG ; ?>La coloration syntaxique est réalisée par : SyntaxHighlighter.
Si vous préférez, vous pouvez utiliser celle de geshi ou même celle construite autour de la fonction highlight_file.
Retour à la page principale de (gH)