Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/08/2011, 15h07   #1
Membre à l'essai
 
Inscription : décembre 2006
Messages : 169
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 169
Points : 21
Points : 21
Par défaut Test si "Document is empty"

Bonjour à tous,

J'ai un bug que je n'arrive pas à résoudre.
Je fais de l'import de flux XML, J'ai une liste de flux qui sont dans ma base, et régulièrement je scanne tous ces fichiers avec la fonction

Code :
if ($fluxxml=simplexml_load_file($file))
Mais il m'arrive que certains flux soient vides.
Je n'arrive pas à faire le test.
J'ai essayé en faisant un
Mais filesize me retourne la valeur FALSE.

Merci d'avance pour vos conseils.

Bonne journée.

P.
Pierrick81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 15h10   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
c'est des fichiers vides ou il n’existe pas ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 15h23   #3
Membre à l'essai
 
Inscription : décembre 2006
Messages : 169
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 169
Points : 21
Points : 21
Très bonne question
Il me semble qu'ils sont vides, car quand je les appelle dans mon navigateur, ça me fait une page blanche, sans code, plutôt qu'une page d'erreur du type "page introuvable".
Pierrick81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 15h35   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
Citation:
Envoyé par Pierrick81 Voir le message
Très bonne question
Il me semble qu'ils sont vides, car quand je les appelle dans mon navigateur, ça me fait une page blanche, sans code, plutôt qu'une page d'erreur du type "page introuvable".
fait un var_dump($fluxxml) et tu comprendras
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 16h03   #5
Membre à l'essai
 
Inscription : décembre 2006
Messages : 169
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 169
Points : 21
Points : 21
Merci pour ton retour,
Je ne comprends pas bien où tu veux en venir.
Je viens de faire le var_dump($xmlfile), mais forcément avant j'ai mon message d'erreur
Code :
parser error : Document is empty
Ce qui au passage doit bien signifier que le fichier existe mais est vide.

Donc il ne rentre pas dans le if, et il n'affiche pas le var_dump.

Et même si je ne mets pas de if, à partir du moment où je fais
Code :
$fluxxml=simplexml_load_file($file)
Il m'indique le message d'erreur.
Il faudrait que je puisse tester $file avant de le parser, et s'il est vide, alors je ne le parse pas.
Pierrick81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 16h05   #6
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
les fichiers sont locaux ou distants ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 16h19   #7
Membre à l'essai
 
Inscription : décembre 2006
Messages : 169
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 169
Points : 21
Points : 21
Ce sont des fichiers distants, sur lesquels je n'ai pas la main.
Pierrick81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 16h25   #8
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 456
Points : 8 456
fait un file_get_contents + simplexml_load_string
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/08/2011, 17h36   #9
Membre à l'essai
 
Inscription : décembre 2006
Messages : 169
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 169
Points : 21
Points : 21
Génial !
C'était la solution.
Une fois que j'ai fait le file_get_contents, je test la longueur de la string retournée, et le tour est joué.
Si c'est = à 0 alors je ne le parse pas.

Merci beaucoup.
Pierrick81 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h57.


 
 
 
 
Partenaires

Hébergement Web