2010-12-13 28 views
0

Mes connaissances en PHP sont limitées et j'ai un problème avec un script que je cours.En attente de l'écriture du fichier XML pour terminer en PHP

Je suis en train d'amalgamer quelques flux xml et d'écrire la sortie sur mon propre serveur dans un fichier xml personnalisé. Pour ce faire, j'utilise XMLWriter, mais le problème que je rencontre est de savoir quand le fichier a été écrit avec succès. Je charge les flux externes via SimpleXMLElement, et au total, le script prend environ 10 secondes à courir, mais quand je fais un print_r ($ xmlWriter) à la fin du script, il est vide, tout comme le xml fichier Im essayant d'écrire.

Le fichier xml est écrit avec succès, mais dans le contenu de php je ne sais pas quand et je voudrais seulement passer à un autre code une fois que cela est réussi.

Toute aide appréciée

Merci

+0

@clarly: pouvez-vous ajouter le code que vous utilisez ici? –

+0

PHP est synchrone, si votre code dit que le fichier doit être écrit à un point spécifique de votre code, il sera écrit à ce moment-là. – deceze

Répondre

-1

Vous pouvez vérifier si $ xmlwriter est vide, comme vous le dites c'est le problème, et la boucle jusqu'à ce qu'il ne soit pas vide, mais en même temps, vous pouvez dire à PHP attendre un certain temps pour sauver la performance:

//while the XML hasn't finished being written yet 
while ($xmlWriter == "") { 
    // sleep for 10 seconds 
    sleep(10); 
} 

Vous pouvez même garder un compte de combien de temps il attend et abandonner après un certain temps et gérer l'échec.