IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[DOM] erreur avec DOM PHP5


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Par défaut [DOM] erreur avec DOM PHP5
    Bonjour,
    j'ai développé mon site sur easyphp1.8 avec PHP4 et domxml en local ca tourne sur XP. J'ai déployé chez l'hébergeur ç a ne marche plus car il est sous Linux, PHP5. PHP5 utilise le DOM.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
     
    $monfich=$_GET['LFILE'];
     
    //--au lieu d'utiliser ceci ( de php4)
    $dom=domxml_open_mem($monfich) ;
     
    //--j'ai utilisé ceci :
    $dom=new DomDocument('1.0','iso-8859-1');
    $dom=loadXML('$monfich');
     
    ?>
    Voilà l'erreur que j'ai :

    Warning: domdocument() expects parameter 2 to be long, string given in /home/users2/a/acat31mp/www/BIB69/Membres/mesrecherches_bib.php on line 87

    Fatal error: Call to undefined method: domdocument->loadxml() in /home/users2/a/acat31mp/www/BIB69/Membres/mesrecherches_bib.php on line 88

    quelqu'un pourait m'aider ? c'est urgent .
    Je vous remercie d'avance

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Vous pouvez faire plus simple et plus direct :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    $dom = DomDocument::load($monfich);

    Il y a différentes erreurs dans votre code :
    • loadXML est une méthode de DomDocument et non une fonction (à moins d'en avoir écrite une qui utilise ce nom ...)
    • la méthode loadXML crée un DomDocument à partir d'une chaîne de caractère et non d'un fichier
    • $monfich ne sera pas interpolée (remplacée par sa valeur) dans une chaîne délimitée par des single quotes


    Quelques liens utiles :


    Par contre je ne comprends pas le warning. La ligne 87 correspond à quoi très précisément ? Vous utilisez bel et bien PHP 5 ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Par défaut
    Merci de votre réponse,
    en effet j'ai tout essayé même avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $dom = DomDocument::load($monfich);
    En fait la variable $monfich contient un flux xml c'est pourquoi je dois l'ouvrir avec cette méthode :loadXML.
    la ligne 87 correspond à ça :
    $dom = new DomDocument('1.0', 'iso-8859-1');
    Mon herbergeur est bien sur php5 (je l'ai vu avec phpinfo)
    Je vous remercie encore.

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Dans ce cas vous avez raison pour loadXML.

    Ratissons plus large :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if (!isset($_GET['LFILE'])) {
        die('Paramètre attendu');
    }
    if (!preg_match('/^5/', PHP_VERSION)) { // Il ne faudrait pas exclure les versions RC*
        echo "Vous n'utilisez pas PHP 5 !";
    }
    if (!extension_loaded('dom')) {
        die("L'extension DOM n'est pas disponible");
    }
    $dom = DomDocument::loadXML($_GET['LFILE']);
    header('Content-type: text/plain');
    echo $dom->saveXML();


    Les messages d'erreur restent inchangés ? Quelle est votre version précise de PHP ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Par défaut
    Merci ,
    voilà ce que j'ai comme réponse :
    Vous n'utilisez pas PHP 5 !L'extension DOM n'est pas disponible

    pourtant lorsque je fais http://195.144.11.42/phpinfo.php
    j'ai bien PHP 5.2.3

    comment est-ce possible ?
    Merci de me renseigner !

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    C'est un phpinfo public/global ? Parce qu'ils proposent le même pour PHP 4. Puisque vous semblez être en PHP 4, soit vous migrez vers PHP 5 (si vous en avez la possibilité) soit vous conservez vos fonctions domxml_*

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM] CloneNode avec DOM, XHR ne suit pas
    Par sativa808 dans le forum Général JavaScript
    Réponses: 28
    Dernier message: 12/09/2008, 15h36
  2. [DOM] Erreur avec la méthode setAttribute
    Par PierreBTSIG dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 19/05/2008, 13h45
  3. [DOM] difficulté avec DOM
    Par gentil dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/03/2007, 17h29
  4. [DOM] Php5 : créer un fichier xml avec Dom
    Par devadh dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 29/01/2007, 14h04
  5. Erreur avec l'API dom xml
    Par bluemartini dans le forum Langage
    Réponses: 8
    Dernier message: 23/06/2006, 11h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo