Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

[Résolu]Verifier une adresse Xml avant de l'ouvir.


Messages recommandés

Posté(e) (modifié)

Bonjour, ou re :P

 

je cherche le moyen de faire vérifier une adresse pointant un xml avant lecture/ouverture pour éviter un warning inutile en cas d'adresse erroné.

 

Voici le code en question :

							   if ($update_possible_file=='1')
						   {

						   $xml = lit_xml(''.$verification_update.'/modules/update/'.$module.'/update.xml',"update",array("update_version", "update_id", "update_url_site"));

						 foreach($xml as $row) {
						 $update_version = $row[0];
						 $update_id = $row[1];
						 $update_url_site = $row[2];
						 }

 

la ligne qui correspond donc a la "lecture" de l'adresse est celle si :

 

$xml = lit_xml(''.$verification_update.'/modules/update/'.$module.'/update.xml',"update",array("update_version", "update_id", 
"update_url_site"));

 

Ce qui donne en clair :

$xml = lit_xml('le_site_en_question/modules/update/nom_du_module/update.xml',"update",array("update_version", "update_id", "update_url_site"));

 

J'ai bien entendu essayer un urlencode comme ceci :

 

$xml = lit_xml(urlencode(''.$verification_update.'/modules/update/'.$module.'/update.xml'),"update",array("update_version", "update_id", 
"update_url_site"));

 

Mais ça ne fonctionne pas.

 

Merci a ceux qui sauront m'aider :P

 

à bientôt ^^

 

PS: ca seras mieux en ajoutant la fonction :

function lit_xml($fichier,$item,$champs) {
  if($chaine = @implode("",@file($fichier))) {
  $tmp = preg_split("/<\/?".$item.">/",$chaine);
  for($i=1;$i<sizeof($tmp)-1;$i+=2)
	 foreach($champs as $champ) {
		$tmp2 = preg_split("/<\/?".$champ.">/",$tmp[$i]);
		$tmp3[$i-1][] = @$tmp2[1];
	 }
  return $tmp3;
  }
}

Modifié par julkien

Posté(e)

tu peux pas faire simplement un if (file_exists(ton_fichier_xml)) avant d'essayer de le lire?

Posté(e)

oups!

probleme résolu en fait via chat zebulon...

File_exists ne fonctionne pas, il faut faire un file_read je crois...

Juklien, met le code ^^

Posté(e)

La fonction en question :

<?php
$url = "http://www.zebulon.fr";

$file = @fopen($url, 'r'); 
if ($file) 
echo 'Lien Ok!'; 
else 
echo 'Lien Ko!'; 

?>

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...