Parcourir un répertoire et son contenu : fichier XML
Akkyshan
-
Akkyshan Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
Akkyshan Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
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!
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!
A voir également:
- Parcourir un répertoire et son contenu : fichier XML
- Word a trouvé du contenu illisible - Guide
- Répertoire téléphonique gratuit - Télécharger - Bureautique
- Le fichier à télécharger correspond au contenu brut d’un courrier électronique. de quel pays a été envoyé ce message ? - Guide
- Fusionner deux cellules excel en gardant le contenu - Guide
- Contenu multimedia messenger disparu - Forum Facebook Messenger
1 réponse
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!)
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!)