Foros del Web » Programando para Internet » PHP »

Ejecutar exe desde PHP

Estas en el tema de Ejecutar exe desde PHP en el foro de PHP en Foros del Web. Hola maestr@s necesito ejecutar un ejecutable hecho en visual basic desde una web con PHP aLGUIEN ME PUEDE DECIR COMO?? Muchas gracias y un abrazo ...
  #1 (permalink)  
Antiguo 06/05/2004, 03:20
Avatar de kco
kco
 
Fecha de Ingreso: septiembre-2001
Mensajes: 249
Antigüedad: 22 años, 6 meses
Puntos: 0
Ejecutar exe desde PHP

Hola maestr@s necesito ejecutar un ejecutable hecho en visual basic desde una web con PHP

aLGUIEN ME PUEDE DECIR COMO??

Muchas gracias y un abrazo de un PHPero+

kco
__________________
"No tengas miedo de ir despacio, teme quedarte quieto."
  #2 (permalink)  
Antiguo 06/05/2004, 03:36
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola, kco.

Echale un vistazo a la lista de funciones de ejecución de programas:

http://es2.php.net/manual/es/ref.exec.php

Saludos,
  #3 (permalink)  
Antiguo 06/05/2004, 03:57
Avatar de kco
kco
 
Fecha de Ingreso: septiembre-2001
Mensajes: 249
Antigüedad: 22 años, 6 meses
Puntos: 0
gracias amigo, lo miro y comento

Un abrazo de un PHPero+
kco

__________________
"No tengas miedo de ir despacio, teme quedarte quieto."
  #4 (permalink)  
Antiguo 06/05/2004, 05:22
Avatar de kco
kco
 
Fecha de Ingreso: septiembre-2001
Mensajes: 249
Antigüedad: 22 años, 6 meses
Puntos: 0
Oye Maestr@s me casca, y no se por que???

exec('"C:\Video.exe", $valor1, $valor2');
print_r($valor1);
echo "<br>";
echo $valor2;

Donde Video.exe es una aplicacion Visual Basic

Que tengo que poner antes de la ruta para que ejecute el programa?????

Muchas gracias y un abrazo de un PHPero+
kco
__________________
"No tengas miedo de ir despacio, teme quedarte quieto."
  #5 (permalink)  
Antiguo 06/05/2004, 05:27
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

No se si sera por esto, pero recuerda que si pones \ en una cadena, debes escaparlo con otro \. Y que esas ' estan mal:

exec("C:\\Video.exe", $valor1, $valor2);

Y que ese fichero tiene que estar en ese directorio del servidor que ejecuta el PHP.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 06/05/2004, 06:19
Avatar de kco
kco
 
Fecha de Ingreso: septiembre-2001
Mensajes: 249
Antigüedad: 22 años, 6 meses
Puntos: 0
Gracias, hice los cambios pero no funciona sige =


Alguna sugerencia???

El resultado que me da es:

Array ( )
127

Muchas gracias y un abrazo de un PHPero++
kco

__________________
"No tengas miedo de ir despacio, teme quedarte quieto."
  #7 (permalink)  
Antiguo 06/05/2004, 06:29
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
¿Y que se supone que tenia que devolver? Porque puede que sea eso lo que el programa devuelve. Abre en el servidor una ventana MSDOS y pon ese comando. Y mira la salida que genera.

Tambien puede ser que no tengas permisos para que PHP (o el servidor) ejecute ese ejecutable.

O incluso puede ser que tengas "capada" la ejecucion de programas fuera de ciertos directorios (configuracion safe_mode).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 06/05/2004, 06:38
Avatar de kco
kco
 
Fecha de Ingreso: septiembre-2001
Mensajes: 249
Antigüedad: 22 años, 6 meses
Puntos: 0
Thanks my friend!!

Lo que hace el programa es abrirse y tiene un boton que al ser pulsado guarda un fotograma en el disco duro.

Y no abre el programa, si yo pongo Video.exe en linea de comandos (MSDOS) abre la ventana con el boton y guarda el fotograma.

Muchas gracias de un PHPero+
kco
__________________
"No tengas miedo de ir despacio, teme quedarte quieto."
  #9 (permalink)  
Antiguo 06/05/2004, 06:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El tipo de aplicaciones que puedes ejecutar desde PHP con exec() y funciones afines son sólo tipo "linea de comandos" .. es decir .. si tu aplicación acepta X parámetros en su llamada y ejecuta su proceso sólo sin intervención del "humano" .. podrías hacer lo que pretendes .. Pero si hay "botones" y demás interacción con el usuario no ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 06/05/2004, 07:00
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Ah, es un programa de entorno grafico. Puede que ese sea el problema. Quizas PHP es incapaz de ejecutar ese tipo de programas. Prueba a hacer un:

exec("C:\\dir *.*", $valor1, $valor2);

para ver si puede ejecutar comandos.

Y revisa el segundo comentario del http://www.php.net/manual/en/function.exec.php , comenta algo para que apache pueda ejecutar aplicaciones de escritorio.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #11 (permalink)  
Antiguo 06/05/2004, 07:03
Avatar de kco
kco
 
Fecha de Ingreso: septiembre-2001
Mensajes: 249
Antigüedad: 22 años, 6 meses
Puntos: 0
Voy a ver como cambioel programa para que copie automaticamente sin tener que dar al boton.

Muchas gracias y abrazo de un PHPero+
kco
__________________
"No tengas miedo de ir despacio, teme quedarte quieto."
  #12 (permalink)  
Antiguo 07/05/2004, 01:55
Avatar de kco
kco
 
Fecha de Ingreso: septiembre-2001
Mensajes: 249
Antigüedad: 22 años, 6 meses
Puntos: 0
Josemi pongo la setencia:

exec("C:\\dir *.*", $valor1, $valor2);

y me dice

Warning: Unable to fork [C:\dir *.*] in c:\foxserv\www\fun-basics\diseno_pruebas\ejecutar_exe.php on line 15

-1

Muchas gracias de un PHPero+
kco
__________________
"No tengas miedo de ir despacio, teme quedarte quieto."
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:47.