Ejecución de un programa

Quisiera saber si existe una instrucción, comando o función en php que ejecute (abra) un programa como el notepad.exe o cualquier otro programa.
Respuesta
1
Lo que hace es ejecutar la función launch_x pasándole como parámetro la ruta y el nombre del programa que se tiene que ejecutar. Para que funcione correctamente debes usar Internet Explorer, y tener activadas los componentes ActiveX.
Revisa la configuración de ActiveX en Herramientas -> Opciones de Internet -> Seguridad -> Seleccionas Internet y pulsas el botón Nivel Personalizado. En la lista que aparece tienes que activar todo lo que ponga algo de ActiveX.
Como ves, que funcione o no depende del usuario que visualice la página. He de decir también que a mi no siempre me ha funcionado. Algunas veces al abrir la página no se abre el bloc de notas, pero la mayoría de las veces si se abre.
La opción de abrirlo mediante window. Open o pulsando un enlace si que funciona. Aunque pida la aprobación del usuario.
Muchas gracias por tu ayuda.
Hola probé el código pero no se que pasa con la siguientes instrucciones... no hacen nada ... explicame
<script>
launch_x('C:/WINDOWS/notepad.exe');
</script>
Puedes ejecutar el notepad con:
<?php
exec('notepad.exe');
?>
Pero el programa se ejecuta en el servidor, y no en el cliente. Si quieres que se ejecute en el cliente tendrías que usar html o javascript.
Me puedes explicar como hacer eso ... por favor ... gracias
No sabia si era eso lo que necesitabas.
En realidad no es nada fácil debido a las restricciones de seguridad de los navegadores. Imagina que estas navegando por internet y una página web cualquiera es capaz de ejecutar un programa en tu ordenador. Las consecuencias podrían ser catastróficas. Bastaría con ejecutar un programa que formatee el disco duro. Por eso los navegadores suelen ser bastante restrictivos a la hora de ejecutar programas.
En Internet Explorer puedes usar ActiveX, pero no función bien en otros navegadores. Te pongo un código con tres formas. La primera mediante activeX, la segunda usando onload y abriendo una ventana en la que se intenta abrir el bloc de notas, y la tercera forma es un enlace.
<html> <head> <title> Ejecutar un programa del pc cliente </title>
<script language='JavaScript'>
var theShell = new ActiveXObject("WScript.Shell");
function launch_x(prog) {
var data= theShell.run(prog);
return data;
}
</script>
</head>
<body onload='window.open("c:/windows/notepad.exe");'>
<script>
launch_x('C:/WINDOWS/notepad.exe');
</script>
<a href="file:///C:/windows/notepad.exe"> Bloc de notas </a>
</body>
</html>

1 respuesta más de otro experto

Respuesta
1
Pues con php no puedes, tampoco con javascript ni applets
La única manera seria usando VBScript o creando un ActiveX que se ejecute en la máquina cliente
Hola... pero yo necesito que el programa se ejecute en los clientes. ¿Qué hago?
¿Qué te salió en el log de error? Piensa que esta instrucción lo que hace es ejecutar el WinAmp en el servidor...
Ok. Muchísimas gracias.
Sí es la función exec()
string exec ( string command [, string array [, int return_var]])
Hola quisiera que me ayudaras un poco más... mi código es el siguiente:
$comando="C:\Archivos de programa\Winamp\Winamp.exe";
exec ( $comando [, string array [, int return_var]]);
Pero para que el array y cual es su valor... y para que lo de return_var
por fa ayudame no entiendo... gracias
Tú solamente debes usar:
$comando="C:\Archivos de programa\Winamp\Winamp.exe";
exec($comando);
Los otros parámetros son opcionales, tal como indican los corchetes

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas