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] Code ne fonctionnant pas sur d'autres ordi


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 23
    Points : 8
    Points
    8
    Par défaut [DOM] Code ne fonctionnant pas sur d'autres ordi
    Suite à ma demande d'aide résolu sur ce post :

    http://www.developpez.net/forums/sho...d.php?t=427155

    Je me permet de reposter car je me trouve devant un problème auquel je ne sais encore que faire (désolé :/)

    Ma page PHP qui prend mon fichier ZIP pour l'ouvrir, lire le fichier XML, ajouter une ligne et afficher le fichier XML dans le navigateur marche très bien sur ma machine.

    Mais dès que je change de poste une erreur de ce type apparait :

    Fatal error: Call to undefined method domdocument::insert_before() in C:\chemin\fichier.php on line 17

    Voici la ligne de code 17 :

    $dom->insert_before($pi, $dom->document_element());

    Après quelques recherches j'ai vu qu'avec les mises à jour DOMXML et PHP, la commande insert_before pouvait s'écrire insertBefore et même après cette modification, même message :

    Fatal error: Call to undefined method domdocument::insertBefore() in C:\chemin\fichier.php on line 17


    Sachant que les fonctions zip et domxml sont bien activées, avez-vous une idées de comment pourrais-je résoudre ce problème ?

    Merci d'avance ! Je suis là si jamais je n'ai pas été assez explicite

  2. #2
    Membre éprouvé Avatar de alain.couthures
    Profil pro
    Gérant
    Inscrit en
    Avril 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Avril 2007
    Messages : 902
    Points : 1 247
    Points
    1 247
    Par défaut
    En PHP4, on trouve insert_before() avec DOMXML alors qu'en PHP5, on trouve insertBefore() avec DOM !
    Formulaires XForms sur tous navigateurs sans extension à installer (architecture XRX) : http://www.agencexml.com/xsltforms/

  3. #3
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Il y a donc une autre fonction DOM ou XML à activer pour que cela puisse marcher ??

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    il est normal que PHP proteste : insert_before() est une méthode de DomNode, pas de DomDocument.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  5. #5
    Futur Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 23
    Points : 8
    Points
    8
    Par défaut
    Oui, mais le fichier actuel que j'ai marche impeccablement sur mon ordinateur, c'est juste que ça ne fonctionne pas ailleur...

    Alors pourquoi juste sur le mien ?

    Le code entier est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    // Contrôle du formulaire
    $zip = $_POST['zip']; 
     
    // Manipulation du fichier Zip
    if (($zip = zip_open($_FILES['file']['tmp_name'])) === FALSE) {
        die("Erreur de lecture de l'archive");
    }
    $entree = zip_read($zip);
    if (!preg_match('~\.xml$~i', zip_entry_name($entree))) {
        die("Le fichier contenu dans l'archive ne semble pas être un fichier XML");
    }
    zip_entry_open($zip, $entree);
    $contenu = zip_entry_read($entree, zip_entry_filesize($entree));
    zip_entry_close($entree);$dom = domxml_open_mem($contenu);
    $pi = $dom->create_processing_instruction('xml-stylesheet', 'type="text/xsl" href="formeROI.xsl"');
    $dom->insert_before($pi, $dom->document_element());
    zip_close($zip);
    header('Content-type: text/xml');
    echo $dom->dump_mem();
    ?>

  6. #6
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    oups, j'ai dit n'importe quoi : DOMDocument héritant de DOMNode, cette méthode lui est évidemment accessible... La réponse d'Alain est la bonne, tu as deux versions différentes de PHP sur les deux postes.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

Discussions similaires

  1. L'exécutable ne fonctionne pas sur un autre ordinateur
    Par alladum dans le forum Bases de données
    Réponses: 7
    Dernier message: 22/06/2009, 15h11
  2. Connexion via Indy10 ne fonctionne pas sur un autre ordinateur
    Par kernigansnotdead dans le forum Composants VCL
    Réponses: 7
    Dernier message: 12/02/2008, 09h17
  3. Deploiement incomplet: application ne fonctionne pas sur une autre machine
    Par Jeannot dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 21/11/2007, 18h49
  4. mon .exe ne fonctionne pas sur d'autre machine
    Par fmh1982 dans le forum Visual C++
    Réponses: 11
    Dernier message: 03/05/2007, 00h03
  5. [VBA-E] mon code ne marche pas sur un autre PC
    Par yannph dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/01/2006, 21h03

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