Lancer une ligne de commande depuis un <a href>

fordprobe Messages postés 2 Date d'inscription jeudi 23 décembre 2004 Statut Membre Dernière intervention 10 juillet 2007 - 10 juil. 2007 à 10:40
kishkaya Messages postés 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 avril 2008 - 10 juil. 2007 à 17:09
Bonjour,

Je me heurte à un problème.

J'ai un lecteur virtuel (Virtual clone drive) sur lequel je souhaite monter un fichier ISO en cliquant sur lien depuis une page PHP.

J'ai la ligne de commande permettant de monter une image dans mon cas:

"C:/Program Files/Elaborate Bytes/VirtualCloneDrive/VCDMount.exe" "C:/exemple.iso"

Dans un cmd celà fonctionne. L'image exemple.iso est bien montée dans le lecteur.

J'ai essayé ça mais je n'y arrive pas :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans nom</title>
</head>

<script type="text/javascript">
function toto()
{
   var w = new ActiveXObject("WScript.Shell");
   w.run ('cmd /c "C:/Program Files/Elaborate Bytes/VirtualCloneDrive/VCDMount.exe" "C:/exemple.iso"
');
 }
</script>
[void(toto()); titi]

</html>

J'ai aussi essayé avec exec('cmd /c "C:/Program Files/Elaborate Bytes/VirtualCloneDrive/VCDMount.exe" "C:/exemple.iso"'
)

Quelqu'un peut-il m'aider ?

Merci d'avance

1 réponse

kishkaya Messages postés 365 Date d'inscription samedi 26 juin 2004 Statut Membre Dernière intervention 17 avril 2008
10 juil. 2007 à 17:09
Voila comment faire il faut deux fichier (tu peux le faire avec un mais t'as l'air de confondre javascript et php.
lien.html :
__________________________

<html><head><title>test clic</title></head>
[./execution.php Click et monte]</html>
__________________________

execution.php
__________________________
<?php
system('run "C:/Program Files/Elaborate Bytes/VirtualCloneDrive/VCDMount.exe" "C:/exemple.iso"');
/*
ou alors :
exec('run "C:/Program Files/Elaborate Bytes/VirtualCloneDrive/VCDMount.exe" "C:/exemple.iso"');
ou alors :
passthru('run "C:/Program Files/Elaborate Bytes/VirtualCloneDrive/VCDMount.exe" "C:/exemple.iso"');
ca depend si tu veux recuperer ce qui est affiché ou pas
*/
?>

Verifie aussi que le repertoire ou est le fichier à lancé et l'application sont sur le bon chmod (je sais pas comment ce se gere sous windows mais sous linux c'est chmod XXX repertoire)
Tu peux aussi mettre le chemin du repertoire ou est VCDMount.exe dans les variables d'environnement comme ca t'aura qu'a faire un run VCDMount.exe

PS !!!!!!!! : Comme tu t'en est rendu compte c'est pas du tout securisé.
Tu peux utiliser les session ou un formulaire POST pour securiser un petit peu plus mais il faudrait que tu te penches de pres la dessus, car n'importe qui peut monter ton iso sur ton pc

Kheraud
0
Rejoignez-nous