Forum Clubic

Vbs/php

Bonjour,

Je viens vers vous pour avoir de l’aide. En effet je doit transformer du code VBS en php.

J’aimerai savoir si c’est possible d’avoir votre aide, car j’avoue je ni arrive pas tout seul.

Merci :slight_smile:

Tu sais que PHP est un langage serveur et que VBS est un langage Client ?

Oui je le sais mais je n’y ai pas penser…
Je fait ça car on me le demande en stage… par exemple pour set xmlDoc=CreateObject(“Microsoft.XMLDOM”) j’ai transci en php
par : $var=$docXML->createElement(“Microsoft.XMLDOM”);

Ensuite pour xmlDoc.async=“false” je ne voi pas par quoi le remplacer…

Comme Sans-Nom te l’as fait remarquer , ton script VBS ouvre un fichier XML situé sur la machine cliente. Il n’est donc pas traduisible en PHP qui lui s’exécute côté serveur :neutre:
Edité le 15/07/2009 à 11:41

Ok, merci je vais voir avec mon tuteur de stage. Mais ça me semble bizarre qu’il me donne un travail à faire et que ça ne soit pas possible…

Ceci dit, même en partant du principe que c’est possible, tu prends le problème à l’envers : traduire le script ligne par ligne n’est pas la bonne approche. Il faut que tu saches précisément ce que le script est censé faire, et à partir de là que tu codes un script équivalent en php.
Edité le 15/07/2009 à 11:55

C’est vrai que je n’ai pas eu la bonne approche… Cependant je n’ai qu’une vague idée de ce que fait ce script. Pense tu savoir ce qu’il fait precisement?

Il ouvre le fichier situé XML sur “host/$_GET[‘machineSelect’]/starttimeXml.xml”, le parcourt à la recherche des noeuds “VALUE1”, et en affiche le contenu.

Si par exemple ton fichier XML ressemble à ça :


<aaaa>
 <bbbb>Bouh</bbbb>
 <VALUE1>Hello </VALUE1>
 <cccc>Clubic</cccc>
</aaaa>
<aaaa>
 <VALUE1>World !</VALUE1>
</aaaa>

Il t’affichera :

Hello World !

Edité le 15/07/2009 à 12:04

Avec SimpleXML en PHP, tu pourras y arriver. Mais le fonctionnement doit être porté serveur, c’est tout.

Cela veut dire qu’il doit pouvoir accéder aux machines (ton “host/<?echo strtolower($_GET['machineSelect']); ?>/starttimeXml.xml”).

Okay, merci de toutes ces informations.
J’ai donc juste un script a faire pour rechercher les noeuds VALUE1 sur “host/$_GET[‘machineSelect’]/starttimeXml.xml”.
Mais “set xmlDoc=CreateObject(“Microsoft.XMLDOM”)” creer bien un fichier .XMLDOM?

Merci pour votre aide!
Edité le 15/07/2009 à 13:12

Ça ne créé pas de fichier. Ça instancie juste un objet ActiveX qui va être utilisé pour parcourir le document XML. C’est totalement inutile en PHP vu qu’il supporte XML nativement.
Edité le 15/07/2009 à 13:32

Pour le moment j’ai fait

<?php $elements = $document_xml->getElementsByTagName('host/$_GET['machineSelect']/starttimeXml.xml'); ?>

Après je doit exploiter la boucle afin de prendre toutes les VALUES1, et de les afficher sur ma page?

Je ne connais pas trop le parcours de documents XML en PHP, mais ça devrait être quelque chose dans le genre :slight_smile:

Okay, c’est parfait, encore merci beaucoup pour votre aide! :slight_smile:

Voili voilou, je ne suis pas sur du tout de moi mais bon…Dites moi ce que vous en pensez

<?php $elements = $document_xml->getElementsByTagName('host/'.$_GET['machineSelect'].'/starttimeXml.xml'); $enfants = $elements->childNodes; Foreach($enfants as $enfants) { $nom = $enfant->nodeName; if ($nom == 'VALUE1') { echo $enfants->nodeValue; } } ?>

Bah teste :slight_smile:

Prends quelques fichiers XML, regarde ce que ça t’affiche avec le VBS, et vérifie que tu as le même résultat en PHP.

Bah sa marche pas :frowning:
Même le VBS m’affiche un message d’erreur de compilation lol

Je ne suis pas sorti de l’auberge :stuck_out_tongue:

Tu ne colles pas ça dans un , non?

Si oui, ne cherche plus :slight_smile: Tu ne génères pas du VBScript valide avec ton code PHP, c’est normal donc.

Sisi j’ai bien cette entete dans mon code VBS…
Sa ne marche toujours pas …

“Foreach($enfants as $enfants)”

le premier, ce n’est pas $enfant (sans ‘s’) ?
et également pour echo $enfants->nodeValue; ?