Foros del Web » Programando para Internet » PHP »

enlazar en PHP un exec()

Estas en el tema de enlazar en PHP un exec() en el foro de PHP en Foros del Web. hola buenas. Como ya dije en anteriores post's estoy creando un panel de control y necesito enlazar mediante una imagen una ejecución de un archivo, ...
  #1 (permalink)  
Antiguo 13/07/2008, 15:26
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 15 años, 9 meses
Puntos: 11
enlazar en PHP un exec()

hola buenas.

Como ya dije en anteriores post's estoy creando un panel de control y necesito enlazar mediante una imagen una ejecución de un archivo, es decir, necesito enlazar un exec(archivo.bat) para que se ejecute. He probado con:

<a href="exec('archivo.bat')">Ejecutar Archivo</a>

Pero no funciona, ¿alguna solución?

Muchas gracias.
  #2 (permalink)  
Antiguo 13/07/2008, 16:44
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 15 años, 9 meses
Puntos: 11
Exclamación Respuesta: enlazar en PHP un exec()

bueno continuo sin saber respuesta a este problema. Por cierto, también me interesaría que me mostrase el progreso de la carga de ese archivo, es decir, si es un archivo .BAT me gustaría que fuese mostrando las lineas de los archivos que se han ejecutado al ejecutar ese bat. No se si me explico bien, pero por si acaso os explico con más detalle:

tengo un archivo .BAT (que lo que hace es la función XCOPY de MS-DOS, esta función lo que hace es copiar todos los archivos y carpetas de un directorio a otro)al ejecutarlo, abre la ventana de MS-DOS y muestra todos los archivos que se han copiado, entonces lo que a mi me gustaría mostrar es el listado de los archivos que se han ido copiando. Si esto creeis que es muy complicado entonces también me valdría una barra de progreso con el % que lleva de completado.

Gracias y un saludo.
  #3 (permalink)  
Antiguo 13/07/2008, 19:07
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: enlazar en PHP un exec()

Bueno si alguien tiene una respuesta no estaría mal que lo comentase, lo necesito con urgencia
  #4 (permalink)  
Antiguo 14/07/2008, 07:44
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: enlazar en PHP un exec()

bueno... Si alguien me puede ayudar... he leido por ahí que hay mucha otra gente que también tenía este problema, lo que pasa es que en ningún foro le dan solución a este problema, y lo tiene que haber. Si no es posible, me gustaría saber si es posible ejecutar directamente un comando de ms-dos desde php en lugar de crear un archivo .bat ya que por lo visto no se ejecuta.

Un saludo.
  #5 (permalink)  
Antiguo 14/07/2008, 08:04
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: enlazar en PHP un exec()

Que tal tld32, mira este link creo que te puede servir

Ejecutar Comandos DOS desde PHP


Saludos.
  #6 (permalink)  
Antiguo 14/07/2008, 08:38
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: enlazar en PHP un exec()

Gracias, pero no me sirve... aquí solo muestran lo que yo ya he probado y no funciona.
  #7 (permalink)  
Antiguo 14/07/2008, 11:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: enlazar en PHP un exec()

Lo que pasa es que no haz entendido que PHP es un proceso en el servidor no en el cliente, por eso no puedes llamar a exec() desde un link <a>, es imposible, exec trabaja en el servidor y con archivos del servidor.

Si quieres llamar desde el link <a> debes de usar file://test.bat para ejecutarlo aunque seguramente te mandara una alerta de seguridad el explorador que uses.

Saludos.
  #8 (permalink)  
Antiguo 14/07/2008, 11:46
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: enlazar en PHP un exec()

Sé perfectamente que PHP se ejecuta por parte del servidor... pero por si no lo sabias se puede incluir perfectamente código de HTML dentro del código PHP.
De todos modos no pido eso, pido a ver si alguien sabe porqué no puedo ejecutar el archivo .BAT desde php y si se puede como hacerlo.
  #9 (permalink)  
Antiguo 14/07/2008, 11:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: enlazar en PHP un exec()

Dependiendo de tu configuración, directamente puedes usar:
Código PHP:
<?php
$salida 
exec"/path/al/archivo.bat" );
?>
Saludos.
  #10 (permalink)  
Antiguo 14/07/2008, 11:57
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: enlazar en PHP un exec()

nada :( eso ya lo probé desde un principio y no funcionó.
  #11 (permalink)  
Antiguo 14/07/2008, 12:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: enlazar en PHP un exec()

Revisa la configuración de tu server, debes de tener desactivado safe_mode para poder ejecutar exec o shell_exec.

Saludos.
  #12 (permalink)  
Antiguo 14/07/2008, 12:58
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: enlazar en PHP un exec()

Lo tengo desactivado.
  #13 (permalink)  
Antiguo 15/07/2008, 04:37
 
Fecha de Ingreso: julio-2008
Mensajes: 201
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: enlazar en PHP un exec()

Bueno sigo teniendo este problema y no consigo resolverlo, si alguien me puede ayudar...
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 18:17.