Boucle sans fin aleatoire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Boucle sans fin aleatoire

Re: Boucle sans fin aleatoire

par Patriboom » 03 oct. 2009, 17:20

Oui, ça ressemble à ça.

Essaie et donne-nous en des nouelles

Re: Boucle sans fin aleatoire

par devcphp » 03 oct. 2009, 12:01

maintenant que tu le dis et pour etre plus clair je genere effectivement des .doc en utilisant les objets com quelques lignes de code avant.Il se peut que le temps d'enregistrement de ces fichiers arrive au moment meme ou le code serait dans la boucle !! Serait ce possible?J'avoue honnetement etre au dela de mes competences ( petite soit disant passant ...).

donc si je resume ta methode , mon code doit etre d ela forme suivante :

static $aMyArray=array();
if ($pDirectory = opendir($sPathToStore)) {                  // opendir nous renvoit un pointeur sur le dossier
            // on initiliase
            
            while (false !== ($sFile = readdir($pDirectory))){
            
               //je ne dois convertir que les fichiers .doc en .pdf  car il se peut qu'il y ait des fichiers .pdf
               //$sExtensionFile renvoit une chaine de carctere ie doc ou pdf ou jpg
               $sExtensionFile=pathinfo($sFile,PATHINFO_EXTENSION);
               
               if ($sFile != "." && $sFile != "..") {
                  if ($sExtensionFile =="doc"){
                   $aMyArray[]=$sFile;

                     //SaveAsPdf ($sPathToStore.'\\'.$sFile);
                     
                  }
                  
                }
            
            }// fin du while
            closedir($pDirectory);// je ferme le handle de manipulation du dossier qui contient les cartes ernt
            
         }

foreach ($aMyArray as $sValeur){   // en effet, mon tableau ne possederai pas de clef juste les noms de fichiers

SaveAsPdf ($sPathToStore.'\\'.$sValeur);

}
Est ce comme ça que je doive interpreter ton commentaire?Merci

Re: Boucle sans fin aleatoire

par Patriboom » 01 oct. 2009, 17:49

Je soupçonne que l'ajout d'un fichier dans ton répertoire fasse en sorte que ta lecture du-dit répertoire soit reprise à zéro après chaque modification.

Peut-être pourrais-tu essayer de séparer la lecture de ton répertoire de la modification faite. En schéma, ça ressemblerait à ceci:

Tu as:

Lecture du répertoire {
Modification {
} //Fin modification
} //Fin de Lecture du répertoire


Je te propose


Lecture du répertoire {
//Mise en tableau du seul contenu a tratier (les .doc, par exemple)
} //Fin de Lecture du répertoire

Lecture du tableau {
Modification {
} //Fin modification
} //Fin de lecture du tableau

Boucle sans fin aleatoire

par devcphp » 30 sept. 2009, 21:19

Bonsoir à tous

J'ai recement remarqué que mon code tournait sans fin. Je vou sexplique en gros ce que fait ce code.

Il va listé tous les fichiers d'un repertoire et ne va transformé que les .doc en pdf en utilisant le fameux pdfcreator.

ma fonction de transformation de .doc e .pdf marche .

j'utilise la fonction pathinfo pour recuperer l'extension des fichiers.(j'ai retenu celle-ci car les differents choses que j'ai lu l'indiquait comme étant la plus fiable.)

et voici maintenant le code :

Code : Tout sélectionner

if ($pDirectory = opendir($sPathToStore)) { // opendir nous renvoit un pointeur sur le dossier // on initiliase while (false !== ($sFile = readdir($pDirectory))){ //je ne dois convertir que les fichiers .doc en .pdf car il se peut qu'il y ait des fichiers .pdf //$sExtensionFile renvoit une chaine de carctere ie doc ou pdf ou jpg $sExtensionFile=pathinfo($sFile,PATHINFO_EXTENSION); if ($sFile != "." && $sFile != "..") { if ($sExtensionFile =="doc"){ SaveAsPdf ($sPathToStore.'\\'.$sFile); } } }// fin du while closedir($pDirectory);// je ferme le handle de manipulation du dossier qui contient les cartes ernt }
quelqu'un aurait il une idée?
d'avance merci