ActiveX test en local (EasyPHP)

Signaler
Messages postés
57
Date d'inscription
samedi 3 mai 2003
Statut
Membre
Dernière intervention
31 juillet 2008
-
Messages postés
57
Date d'inscription
samedi 3 mai 2003
Statut
Membre
Dernière intervention
31 juillet 2008
-
Bonjour a tous.
J'ai comme vous vous en doutez un ptit... euh un gros problème...
Je n'arrive pas a tester mes JScript contenant des appels aux fonctions ActiveX en local.
J'utilise EasyPHP v1.8.0.0....
Bien évidemant j'ai authorisé l'execution des ActiveX dans IE... Mais rien a faire...
Le but étant de pouvoir gérer des fichiers (lecture,ecriture...) en local par le biais de
JScript et ActiveX.

___________________________________________
Le plus grand des défauts de l'homme c'est de toujours
pointer un doigt accusateur... Mais jaimais devant un miroir... ___________________________________________

12 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,

       je l'ai cassée hier alors,
  impossible de répondre sans plus de données.

   si tu peux nous faire un petit extrait, un exemple qui ne fonctionne pas
   on regarde, on teste, et on pourra peu-être t'aiguiller ?
<hr />
            Cordialement    Bul    [mon Site]    [M'écrire]
<hr />
Messages postés
57
Date d'inscription
samedi 3 mai 2003
Statut
Membre
Dernière intervention
31 juillet 2008

Voici la fonction que j'ai tester et qui ne fonctionne pas:
le navigateur (IE) me répond "fichier introuvable..."
le fichier se trouve dans le même répertoire que la page contenant
le script.
j'ai lu quelque part qu'il pouvais s'agir d'un problème de droits...
(d'ailleur je crois que c'est toi qui a donné cette réponce)

function Get_File(){
var Obj = new ActiveXObject('Scripting.FileSystemObject');
var LirTxt = Obj.GetFile('t.txt');
var doc1 = LirTxt.OpenAsTextStream(1);
var txt = doc1.ReadAll();
document.getElementById('TXT').value=txt;
};
___________________________________________
Le plus grand des défauts de l'homme c'est de toujours
pointer un doigt accusateur... Mais jaimais devant un miroir... ___________________________________________
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
Bonjour,

var Obj=new ActiveXObject("Scripting.FileSystemObject");
var LirTxt=Obj.OpenTextFile("D:/Documents and Settings/Bul/Mes documents/à Détruire/t.txt",1,false);
var txt=LirTxt.ReadAll();
LirTxt.close();
alert(txt);

fonctionne parfaitement
si on met "OpenTextFile("t.txt",1,false); ====> t.txt n'est pas trouvé.

on "n'est donc pas" dans le bon répertoire
on est où ? : faudrait afficher le répertoire "où l'on est" pour contrôler.

je ne sais pas si je suis très clair.
ce n'est pas parce que le .htm est dans le répertoire "toto", que
lorsqu'on l'exécute, le répertoire où l'on est soit "toto".
ajouter le "répertoire de base" avant t.txt, du style :
var url=unescape(self.location.pathname);
var adr=(fso.GetExtensionName(url).toLowerCase()!='hta')?1:0;
var dir=fso.GetParentFolderName(url).substr(adr); = répertoire de la page

<hr />Cordialement Bul [mon Site] [M'écrire]<hr />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
sur plusieurs lignes ce sera plus lisible

var url=unescape(self.location.pathname);
var adr=(fso.GetExtensionName(url).toLowerCase()!='hta')?1:0;
var dir=fso.GetParentFolderName(url).substr(adr);

j'ai mis sur ce site un petit texte "Supports/Répertoires/Fichiers avec JavaScript"
si cela peut aider...
   
<hr />
            Cordialement    Bul    [mon Site]    [M'écrire]
<hr />
Messages postés
57
Date d'inscription
samedi 3 mai 2003
Statut
Membre
Dernière intervention
31 juillet 2008

Ben ça marche pas...
toute fois l'erreur a changé, maintenant il me dit:
"Permission Refusé".

Je tiens a précisé qu'avec la fonction que j'ai posté
j'avais tester toutes les expressions de cheminement
possible .

___________________________________________
Le plus grand des défauts de l'homme c'est de toujours
pointer un doigt accusateur... Mais jaimais devant un miroir...
___________________________________________
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
ça, directement en .htm , sans php, est-ce que ça marche ?
( t.htm et t.txt dans le même répertoire )

<script type="text/javascript">

var Obj=new ActiveXObject("Scripting.FileSystemObject");
var url=unescape(self.location.pathname);
var adr=(Obj.GetExtensionName(url).toLowerCase()!='hta')?1:0;
var dir=Obj.GetParentFolderName(url).substr(adr);
var LirTxt=Obj.OpenTextFile(dir+"/t.txt",1,false);
var txt=LirTxt.ReadAll();
LirTxt.close();
alert(txt);

</script>

      et avec easysPhp ?

si l'un ou l'autre ne fonctionne pas :
   problèmes d'autorisation d'exécuter un ActiveX
      ===> paramétrer en conséquence.

<hr />
            Cordialement    Bul    [mon Site]    [M'écrire]
<hr />
Messages postés
57
Date d'inscription
samedi 3 mai 2003
Statut
Membre
Dernière intervention
31 juillet 2008

Excuse moi bultez de ne pas avoir répondu plus tot...
Ton script fonctionne bien si j'execute directement le fichier
mais il ne veux pas fonctionner si je passe par EasyPHP.
"un composant ActivX ne peut pas crée un objet"

ça me fait un peu c****,  je vais eêtre obligé de teser mes pages
sur un serveur distant. (a moins que quelqu'un ai une astuce...)

Autre problème, si je tente d'atteindre un fichier ne se trouvant pas
sur le même domaine l'erreur suivante m'es renvoyé:
"accès refusé"


___________________________________________
Le plus grand des défauts de l'homme c'est de toujours
pointer un doigt accusateur... Mais jaimais devant un miroir...
 ___________________________________________
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
>>Excuse moi 

   il vous en prie...

>>il ne veux pas fonctionner si je passe par EasyPHP..
   probablement une question d'autorisations/paramétrage d'Internet Explorer
   Outils / Options Internet  et paramètres en fonction de la "zone"
   pas testé "chez moi" avec EasyPHp, il faudrait que je regarde.

>>si je tente d'atteindre un fichier ne se trouvant pas sur le même domaine
en général, impossible de traiter( hors lire ) sur un autre domaine.

<hr />
            Cordialement    Bul    [mon Site]    [M'écrire]
<hr />
Messages postés
57
Date d'inscription
samedi 3 mai 2003
Statut
Membre
Dernière intervention
31 juillet 2008

>>probablement une question d'autorisations/paramétrage d'Internet Explorer...



En fait le problème venais conjointement d'EasyPHP et d'un parametre d'URL
dans Dreamweaver. J'utilisait une Url du type "
http://localhost/
", il semble qu'EasyPHP
prefère l'IP (
http://127.0.0.1/
), c'est plutot bizard puisque jusque là j'ai toujours tester
mes pages PHP comme ça...


Donc en somme, pour tester ses ActivX en local par EasyPHP il ne faut pas utilier
hocalhost mais 127.0.0.1... Sinon Erreur...




>>en général, impossible de traiter( hors lire ) sur un autre domaine.

Justement c'est bien ce que je cherche a faire...
Ce que je voudrais ce serait de pouvoir lire des fichiers txt, html ou xml
se trouvant sur d'autres domaines. Et ensuite de pouvoir les traiter dans
des variables PHP et JS...


___________________________________________
Le plus grand des défauts de l'homme c'est de toujours
pointer un doigt accusateur... Mais jaimais devant un miroir...
___________________________________________
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
>>Et ensuite de pouvoir les traiter....

   ce n'est pas permis...
   pour de sombres histoires de sécurité... parait-il.


>>EasyPHP il ne faut pas utiliser hocalhost mais 127.0.0.1... 
   les choses sont parfois curieuses... 
   je découvre ! verifie chez moi, et dirais si ce n'est pas la même chose.


<hr />
            Cordialement    Bul    [mon Site]    [M'écrire]
<hr />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
36
   localhost et/ou 127.0.0.1 : c'est la même chose.
   tu as du paramétrer quelque chose pour 127.0.0.1 ( sites de confiance ... ou autre ? )
<hr />
            Cordialement    Bul    [mon Site]    [M'écrire]
<hr />
Messages postés
57
Date d'inscription
samedi 3 mai 2003
Statut
Membre
Dernière intervention
31 juillet 2008

Slt,
Non rien a voir avec les parametres du firewall, j'avais essayé en
mettant localhost comme site de confiance...





Il semble que cela viens bien d'EasyPHP...




___________________________________________
Le plus grand des défauts de l'homme c'est de toujours
pointer un doigt accusateur... Mais jaimais devant un miroir...
___________________________________________