IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[DOM] Limite d'exécution getElementsByTagName


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Rédacteur/Modérateur

    Avatar de dsr57
    Homme Profil pro
    Analyste programmeur senior
    Inscrit en
    Octobre 2003
    Messages
    1 139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Analyste programmeur senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 139
    Points : 4 681
    Points
    4 681
    Billets dans le blog
    22
    Par défaut [DOM] Limite d'exécution getElementsByTagName
    Bonjour tout le monde,

    Je suis entrain d'adapter mon site Web, pour pouvoir permettre de rechercher dans des fichiers XML.

    Le nombres de fichier XML peut être énorme, plus de 100 000 (de petite taille environ 140 ko).

    le problème c'est que je dois ouvrir chaque fichier jusqu'a temps de trouver le bonne information.

    je met mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     	for ($li_i=$li_dateDebut;$li_i<=$li_dateFin;$li_i++){
     
    	 	$ls_nomRepEnCour=$ls_cheminFichierParametre.$ls_succursale.'\\'.$ls_typeFichier.'\\'.$li_i.'\\';
    	 	//Ouverture du répertoire
    	 	$ls_repEnCours=@opendir($ls_nomRepEnCour);
     
    	 	if ($ls_repEnCours != FALSE ) {
     
    	 	//Parcours du répertoire
    	 	while (false !== ($ls_nomFichierEnCour = readdir($ls_repEnCours))) {
    		 	if (is_file($ls_nomRepEnCour.$ls_nomFichierEnCour)){
    			 	 if (TestExtensionFichierXml($ls_nomRepEnCour.$ls_nomFichierEnCour)) {
    				 	 $lo_domXml = new DomDocument();
    				 	 $lo_domXml->load($ls_nomRepEnCour.$ls_nomFichierEnCour);
    					 $numScelleList = $lo_domXml->getElementsByTagName('Scelle');
    					 $ls_numScelleTemp=$numScelleList->item(0)->firstChild->nodeValue;
    					 if ($ls_numScelleTemp==$ls_numScelleRech){
    						 echo $ls_nomFichierEnCour.' : '.$ls_numScelleTemp.'<br />';
    				 	 }
    					 //unset ($numScelleList);
    					 //unset ($lo_domXML);
    			 	 }else{
    				 	 echo'nonOK';
    				 }
    ?>
    <?php	 
    		 	}
     
    	 	}
    	 	closedir($ls_repEnCours);
     
     	}
     	}
    ?>

    le problème c'est que j'obtient une fatal erreur sur la ligne :
    $lo_domXml->getElementsByTagName('Scelle');
    Affichage sur la page Web :

    Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files\EasyPHP 3.0\www\Infocentre\xml.php on line 39

    Si quelqu'un pourrait m'aider.

    Merci par avance

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Ce problème ne provient pas de domxml mais de la configuration par défaut de PHP qui limite l'exécution des scripts à 30sec.

    Tu as deux solutions :
    1/ Modifier le fichier PHP.INI : Tu augmentes la valeur du paramètre max_execution_time.

    2/ Inclure l'inscruption suivante dans ton script :
    set_limit_time(0); // Pour une exécution sans limite.

    Voilà, j'espère t'avoir correctement aidé.

Discussions similaires

  1. Limiter l'exécution d'un programme
    Par flomerie dans le forum Langage
    Réponses: 1
    Dernier message: 02/05/2008, 21h31
  2. [DOM] limiter le coche des cases à cocher
    Par Interface dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 06/02/2008, 18h01
  3. Réponses: 4
    Dernier message: 21/01/2008, 22h30
  4. [DOM] DOM, Incompatibilité Firefox IE getElementsByTagName
    Par thegreatbato dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 13/03/2007, 12h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo