Parcourir un répertoire et son contenu : fichier XML

Fermé
Akkyshan - 17 oct. 2012 à 15:33
Akkyshan Messages postés 1 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 17 octobre 2012 - 17 oct. 2012 à 16:27
Bonjour,

Je suis actuellement en stage et donc je suis une noob en dév. J'assume! =)
J'aurais vraiment besoin d'aide pour un bout de code qui ne fait pas son travail.

A partir d'un script PHP, je veux ouvrir un répertoire (que je passe en paramètre dans une fonction Opendir) et en explorer son contenu. C'est à dire ouvrir chaque flux XML (factures) et le parcourir pour récupérer des informations spécifiques (nom et nombre). Ensuite ces informations doivent être stockée dans un tableau pour qu'à la fin du traitement je puisse générer un document Excel récapitulatif.
Pour Excel, c'est bon, j'arrive a générer mon fichier. Mais c'est toute la partie avant qui pêche...

Voici mon script:
$v_repertoire = opendir($v_URL);
if (false != $v_repertoire){
while(false !== ($v_flux = readdir($v_repertoire))){
$v_fichier = simplexml_load_file("$v_URL"."$v_flux");
foreach($v_fichier->FLUX as $v_facture){
//extraire le nom complet du flux et le stocker
$v_nom_long_flux = $v_facture->FLX_REF;
//extraire le nom court du flux et le stocker
$v_nom_court_flux= substr("$v_nom_long_flux", 0, -22);
//extraire le nombre d'éléments du flux et le stocker
$v_nb_docs = $v_facture->NBR_ELT;
//Tester le nom du flux
//stocker infos pour création onglet 'données agrégées'
foreach($t_references as $v_nom_flux){
if($v_nom_court_flux == $v_nom_flux){
$v_occurences++; //incrémenter 'Nombre de flux'
$v_total_documents = $v_total_documents + $v_nb_docs; //calculer 'Nb total de documents'
}else{
$v_nom_flux = $v_nom_court_flux; //ajouter le flux de données au tableau de références
$v_occurences++; //incrémenter 'Nombre de flux'
$v_total_documents = $v_total_documents + $v_nb_docs; //calculer 'Nb total de documents'
}
}
//stocker les infos pour création de l'onglet 'détails'
foreach($t_details as $v_nom_complet){
$v_nb_elements = $v_nb_docs;
}
}
//Fermer le flux
fclose($v_facture);
}
}
}

Merci d'avance pour votre aide!

1 réponse

Akkyshan Messages postés 1 Date d'inscription mercredi 17 octobre 2012 Statut Membre Dernière intervention 17 octobre 2012
17 oct. 2012 à 16:27
Je m'excuse, c'est mon premier post, j'ai oublié de préciser les erreurs que ce script renvoie :

Warning: simplexml_load_file(blahblah...URL) [function.simplexml-load-file]: failed to open stream: Permission denied in D:\xampp\htdocs\PhpProject1\controleur\gerer_rapport_emission.php on line 87

Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "blahblah...URL" in D:\xampp\htdocs\PhpProject1\controleur\gerer_rapport_emission.php on line 87

Notice: Trying to get property of non-object in D:\xampp\htdocs\PhpProject1\controleur\gerer_rapport_emission.php on line 88

Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\PhpProject1\controleur\gerer_rapport_emission.php on line 88

J'utilise NetBeans et Xampp sur un windows XP, avec ie6 (oui je sais, mais je suis en stage je vous rappelle!)
0