cilouu | Bonjour,
N'arrivant pas à trouver un éditeur PHP simple d'utilisation sur le net (eh oui il y a des jours comme ça), je voudrais savoir si ma macro (qui était en Python à la base) fonctionne.
Cette macro lit 4 fichiers textes dans un dossier, les traitent (les fichiers textes ont des en têtes dont on n'a pas besoin et après ce sont des mesures de test (valeurs numériques séparées par des tabulations), et retourne un résultat qui est un nouveau fichier texte ou apparait les noms des fichiers traitées, deux valeurs numériques en dessous, puis une moyenne.
Voici mon code, merci de me dire s’il n’y a pas d’erreurs et s’il y aurait des améliorations.
Merci bien et bonne soirée !
Code :
- <?php
- /* Creation de la matrice dynamique*/
- matricedynamique(fp) {
- $matrice = array();
- $taille = 0;
- $tab_X = array();
- $tab_charge = array();
- $taille2 = 0;
- $tab_cf = array();
- $tabNbr = array();
- $fin_fp=1;
- while (!feof($fp)) {
- $ligne = fgets($fp, 1024);
- $fin_fp++;
- }
- for ($ligne>=35; $ligne=$fin_fp; $ligne++){
- $tabNbr = explode("\t",$ligne);
- del($tabNbr[4]);
- del($tabNbr[4]);
- $matrice[] = $tabNbr;
- $taille = count($matrice);
- }
- for ($cpt=0; $cpt<($taille-1); $cpt++){
- if( ($matrice[$cpt][0] == $matrice[$cpt+1][0]) && ($matrice[$cpt][0]<1) ){
- $cpt++ ;
- }
- else {
- $tab_X[] = $matrice[$cpt][0];
- $cf = atan2($matrice[$cpt][3],$matrice[$cpt][1]);
- $tab_cf[] =$cf;
- $tab_charge[] = $matrice[$cpt][2];
- }
- }
- $taille2 = count($tab_cf);
- /*calcul de l'ecart type pour resultat*/
- $tab_utilisateur = array();
- $ecarttype = 0;
- $ecart_type = array();
- for ($n=0;$n=2;$n++)
- ($n ==0) ? $tabutilisateur = float(6) : $tabutilisateur = float(8);
- if ($tab_charge[3]>100){
- $tabutilisateur = $tabutilisateur*1000;
- $ecarttype = 0.01*$tabutilisateur;
- $tab_utilisateur[] = $tabutilisateur;
- $ecart_type[] = $ecarttype;
- }
- /*Calcul la longueur de delamination sur X*/
- global $del1, $del2, $somme_del, $critere;
- $del1 = 0; del2 = 0, $somme_del = 0, $critere = 0;
- global $tab_critere;
- $tab_critere = array();
- $A1 = ($tab_utilisateur[0] + $ecart_type[0]);
- $A2 = ($tab_utilisateur[0] - $ecart_type[0]);
- $B1 = ($tab_utilisateur[1] + $ecart_type[1]);
- $B2 = ($tab_utilisateur[1] - $ecart_type[1]);
- for ($cpt=0; $cpt<($taille2-1); $cpt++) {
- $ecart = ($tab_X[$cpt+1]-$tab_X[$cpt]);
- if ($ecart<0.1){
- if(($tab_cf[$cpt+1]>=0.4) && ($tab_cf[$cpt]>=0.4)) {
- if (($tab_charge[$cpt]<=$A1) && ($tab_charge[$cpt]>$A2))
- $delam1 = $delam1 + $tab_X[$cpt+1] - $tab_X[$cpt];
- if (($tab_charge[$cpt]<=$B1) && ($tab_charge[$cpt]>$B2))
- $delam2 = $delam2 + $tab_X[$cpt+1] - $tab_X[$cpt];
- }
- }
- }
- $somme_del = $del1 + $del2;
- $critere = $somme_del / 30 ;
- $tab_critere[] = $critere;
- }
- #####################################################################################
- chdir("C:/Mesdocs" );
- $taux = 0;
- $listfiles = glob("*.txt" );
- $T = count($listfiles);
- for ($h=0; $h=$T; $h++){
- $fwork = $listfiles[$h];
- $fp = @fopen($fwork,"r" );
- matricedynamique($fp);
- $obFichier= file("Fresultats.xls","a" );
- fputs($obFichier, $fwork);
- fputs($obFichier, "\n" );
- fputs($obFichier, str($del1));
- fputs($obFichier, "\t" );
- fputs($obFichier, str($del2));
- fputs($obFichier, "\n" );
- fclose($obFichier);
- }
- $taille_critere = count($tab_critere);
- for($n=0;$n<($taille_critere);$n++)
- $taux = $taux + $tab_critere[$n];
- $taux = $taux / $taille_critere;
- fputs($obFichier,"\n" );
- fputs($obFichier, "taux de del pour %d echantillon : " %taille_critere);
- fputs($obFichier,(str($taux)));
- fclose($fp);
- ?>
|
|