read()) { $nbf = $nbf +1 ; ## echo "$entry\n" ; $lng = strlen($entry) ; if ($lng>3) { $ext = strtoupper( substr($entry,$lng-3,3) ) ; ## echo " ==> $ext\n" ; if ($ext=="DSC") { $nbFic++ ; $lstdsc[$nbFic] = $entry ; } ; # fin de si sur ext } ; # fin de si sur lng } ; # fin tant que $d->close() ; $nbf -= 2 ; # à cause de . et .. echo " $nbf fichiers vus dont $nbFic de type dsc \n" ; # pour un affichage 'à la française' sans passer par les "LOCALE" $lstmois = array( "Jan"=>"Janvier", "Feb"=>"Février", "Mar"=>"Mars", "Apr"=>"Avril", "May"=>"Mai", "Jun"=>"Juin", "Jul"=>"Juillet", "Aug"=>"Août", "Sep"=>"Septembre", "Oct"=>"Octobre", "Nov"=>"Novembre", "Dec"=>"Décembre" ) ; # récupération de la date du fichier sort($lstdsc) ; $idf = 0 ; # indice courant pour numéro de fichier foreach ($lstdsc as $fic) { $idf++ ; $taille = filesize($fic) ; $datef = fileatime($fic) ; $jourf = date("d",$datef) ; $moisf = $lstmois[date("M",$datef)] ; $anf = date("Y",$datef) ; $ls = "" ; $ls .= sprintf("%3d. ",$idf) ; $ls .= sprintf("%-20s",$fic) ; $ls .= sprintf("%6d" ,$taille) ; $ls .= sprintf(" %3d ",$jourf) ; $ls .= sprintf("%-10s",$moisf) ; $ls .= sprintf("%5d" ,$anf) ; echo "$ls\n" ; } ; # fin pour chaque if ($param=="R") { $nfs = "alldsc.rtf" ; $fs = fopen($nfs,"w") or die("impossible d'écrire dans $nfs\n\n") ; # cette façon d'écrire est peu esthétique, mais fonctionnelle fputs($fs,'{\rtf1 {\fonttbl {\f0\fswiss Arial;} {\f1\fmodern Courier New;} } {\stylesheet {\s0 Nom de liste;} {\s1 Description de fichier;} } \pard\plain\lang1036'."\n") ; fputs($fs,'\par\s0\f0\fs28{\b Liste alphabétique des fichiers}'."\n") ; $idf = 0 ; # indice courant pour numéro de fichier foreach ($lstdsc as $fic) { $idf++ ; $taille = filesize($fic) ; $datef = fileatime($fic) ; $jourf = date("d",$datef) ; $moisf = $lstmois[date("M",$datef)] ; $anf = date("Y",$datef) ; $ls = '\par\s1\f1\fs22{' ; $ls .= sprintf("F%03d. ",$idf) ; $ls .= sprintf("%-20s",$fic) ; $ls .= sprintf("%6d" ,$taille) ; $ls .= sprintf(" %3d ",$jourf) ; $ls .= sprintf("%-10s",$moisf) ; $ls .= sprintf("%5d" ,$anf) ; $ls .= "}" ; fputs($fs,"$ls\n") ; } ; # fin pour chaque fputs($fs,'{\par }'."\n".'}'."\n") ; fclose($fs) ; echo "Vous pouvez consulter $nfs\n\n" ; } ; # fin de si if ($param=="C") { $nfs = "alldsc.csv" ; $fs = fopen($nfs,"w") or die("impossible d'écrire dans $nfs\n\n") ; fputs($fs,"NUMERO ; NOM ; TAILLE ; JOUR ; MOIS ; AN \n") ; $idf = 0 ; # indice courant pour numéro de fichier foreach ($lstdsc as $fic) { $idf++ ; $taille = filesize($fic) ; $datef = fileatime($fic) ; $jourf = date("d",$datef) ; $moisf = $lstmois[date("M",$datef)] ; $anf = date("Y",$datef) ; $ls = "" ; $ls .= sprintf("F%03d. ",$idf) ; $ls .= ";".sprintf("%-20s",$fic) ; $ls .= ";".sprintf("%6d" ,$taille) ; $ls .= ";".sprintf(" %3d ",$jourf) ; $ls .= ";".sprintf("%-10s",$moisf) ; $ls .= ";".sprintf("%5d" ,$anf) ; fputs($fs,"$ls\n") ; } ; # fin pour chaque fclose($fs) ; echo "Vous pouvez consulter $nfs\n\n" ; } ; # fin de si ?>